Zum Inhalt springen
L

Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).

Grundlagen d. Informatik u. Programmierung 2: 4.1 Vererbung: Einführung (SoSe 2020)

Visual Computing WH14:17 530 Aufrufe veröffentlicht Auf YouTube

Das Wichtigste aus dem Video

Tipp auf eine Zeit – das Video springt genau dorthin.

Transkriptautomatisch erstellt · 82 Zeilen
Herunterladen
  1. [Musik] dach zusammen wir kümmern uns jetzt um vererbung in diesem blog von videos da
  2. sind wir eben wieder bei der objektorientierten programmierung und wir starten mit einer relativ knappen einführung in das thema und gucken uns
  3. code an den war aus der einführung in die objektorientierte programmierung hier aus dem video schon kennt oder zumindest sollten sie den wiedererkennen
  4. und wir gehen dann in den späteren videos 2 bis 4 zu diesem teil auch ein bisschen tiefer aber fangen mit dem einfachen beispiel
  5. an machen aber noch mal einen schritt zurück zu dem was pianist raus druck zur objektorientierten programmierung geschrieben hat das ging so in dem
  6. artikel probleme shake shake shake shake funktion es etwas schreibt da probleme in der programmierung gibt's bisher was nicht objektorientiert machen das war
  7. mir generelle konzepte haben die wir nachher weiter konkretisieren oder spezialisieren und dass das wahrscheinlich nicht ganz so ausdruckbar
  8. ist bisher dann geht's weiter expressionistischen taking advantage of the financing oriented programming ja das war im endeffekt das was ich gerade
  9. schon gesagt hatte objektorientierte programmierung macht genau das zu greifbar oder benutzt genau das dass ich das ich mir um diese konzepte gedanken
  10. mache dass ich eben ein generelles objektbeschreibung klasse was auch immer habe und davon dann spezialisieren kann das ist objektorientierte programmierung
  11. jetzt geht es noch mal weiter language of construction listen to be expressed in this supports object oriented programming language ist und dadurch als
  12. wir das zitat beim letzten mal schon hatten dahin gesagt ich kann durchaus in cee objektorientiert programmieren oder quasi objektorientiert denken und
  13. arbeiten die sprache an sich unterstützt das konzept nicht und genau mit diesem ansatz gucken wir jetzt noch mal rein
  14. vererbung das ist das thema dieses vier blocks gegen doch schon wenn sie ein c programmierer fragen wird der ihnen auch sagen ja klar machen wir das nc auch ja
  15. da muss man aber schon sagen ganz kleines bisschen dann für uns seinen tricks anwenden vielleicht um dahin zu kommen dass gucken wir mal das kennen
  16. sie wir haben unsere person die einen vornamen und einen nachnamen hat das hat man ganz am anfang an diesem beispiel wo
  17. wir vom hohen speicher bis hin nach her zu datenstrukturen oder klassen gegangen sind wir haben die personen die hat einen vornamen hier und einen nachnamen
  18. und alles zusammen ist in einer datenstruktur zusammengefasst und klassisch sowie das in szene üblich ist damit ich nicht strack person schreiben
  19. muss wenn ich nachher benutzer steht da noch mal ein teil des davor und der teig der vom truck person geht daneben auf anpassen was mache ich damit ich wollte
  20. ja dem beispiel nicht nur personen haben ich habe ja auch studierende studierender ist auch wieder eine eigene datenstruktur ebenfalls wieder mit dem
  21. trakt jugend aufgeteilt deffte aufs jugend was steckt da drin da steckt ein personen drin und die wird jetzt erweitert oder
  22. spezialisiert in dem aus einer allgemeinen person ein student eine studentin wird und der matrikelnummer ihm dran gehängt wird und dann in den
  23. einführenden beispiel was wir hatten nicht nur das war block 2 haben wir dann noch eine studierende an studierenden in einem studiengang modelliert ebenfalls
  24. wieder der datenstruktur ebenfalls wieder das tief auf genau den gleichen namen damit ich mir das truck sparte hin zu schreiben was haben wir da drin und
  25. da haben wir auch wieder dass die datenstruktur ist jugend drinstehen spezialisieren die aber noch weiter in das ist ein student eine studentin in
  26. einem studiengang der oder die nach einer bestimmten studienordnung studiert naja wenn wir das angewendet haben können wir
  27. das ganz genauso schreiben wir können uns unsere erste studierende bauen jane appleseed mit der matrikelnummer dem studiengang den sie studiert und die
  28. prüfungs ordnung eintrage eintragen nachdem sie studiert und das ganze können wir uns dann in der prüfungs liste ausgeben wenn wir so wollen wir
  29. können uns von unserer jane den teilst jugendhaus geben und da rein gucken und jugend ist eine person und eine person hat einen vornamen leerzeichen das
  30. gleiche spiel für den nachnamen und dann immer noch fragen unsere gute jane studiert doch mit einer matrikelnummer und anschließend jane studiert in einem
  31. studiengang jane hat hinterher auch eine prüfungs ordnung nach der sie studiert das kriegt man in cee hin und gewissermaßen denken sie da schon
  32. objektorientiert im sinne von unser student unsere studenten in einem studiengang erbt das student sein und dieser student diese studentin erbt auch
  33. wieder dass personen sein wenn man ein ganz kleines bisschen genauer hinguckt ist das tatsächlich nicht vererbung genau genommen hat unser in einen
  34. studiengang eingeschriebener student und so in eingeschriebene studentinnen in einem studiengang hat ein feld student studentin und dieser datensatz wiederum
  35. hat ein feld person das ist nicht die ist beziehung die ich eigentlich in der färbung haben möchte ich möchte eigentlich schreiben
  36. der student in einem studiengang ist ein student und das wiederum ist eine person das ist aber nicht diese mutation das hier ist er eine art in rotation
  37. macht aber nix viel anderes konnte ich in zehn nicht machen guck mir noch mal hin ich musste es so schreiben und da finden
  38. wir auch wieder dieses hat jane hat nämlich die studentin diese studenten hat wiederum eine person und diese person hat an vornamen
  39. das sehen wir also und noch im code wenn wir zu dieser ist beziehung wollen würden wir es gerne anders schreiben und zwar so dann ist jane nämlich eine
  40. studentin und die studentin ist gleichzeitig eine person und damit hat jain als studentin und als person den vornamen und ich muss nicht mehr den
  41. umweg gehen schreiben wir das im ml notation sind wir genau hier dann sieht sich so aus der student die studentin in einem studiengang erbt von student oder
  42. studentin und das hier wiederum ihr habt von personen und genau das können wir in c++ auf diese weise ausdrücken wir bauen uns die datenstruktur personen
  43. genau wie vorher mit vor und nachnamen jetzt erbt die datenstruktur student aber öffentlich von der person also dieser pfeil mit der offenen fall spitze
  44. nach oben ist ingo tatsächlich so ausgedrückt und hinzugefügt wird jetzt lediglich die matrikel nummer und ähnliches passiert nachher mit juden den
  45. programmen auch hier wird wieder öffentlich geerbt für dieses beispiel von der klasse jugend und als verfeinerung kommt dazu einmal der
  46. studiengang und die studienordnung und der anwendenden coach auf der folie ist gleich geblieben werden uns jetzt einfach mal von unten nach oben gebaut
  47. damit sie war an der stelle die übersicht behalten ok so sehr es in c++ aus für das beispiel was ich in dieser einführung
  48. verwendet habe von speicher hinzu klassen immer noch mal ein anderes beispiel um das vielleicht noch ein bisschen klarer zu machen was da
  49. passiert und was da noch nebeneffekte sein können nehmen wir drei elektrowerkzeuge links ein bohrer in der mitte eine kreissäge und rechts band
  50. schleifgerät alle drei sind ja als elektrowerkzeuge sicherlich mit einem motor ausgestattet motor im bohrer motor einer kreissäge
  51. und ein motor im band schleifgerät in den motor kann jetzt jeweils natürlich ein anderer typ von motor verbaut sein also genauer gesagt in dem feld motor
  52. kann jetzt ein anderer typ von motor verbaut sein aber es gibt in bora irgend etwas wo ich ein motor einstecken kann es gibt der kreissäge irgend etwas wo
  53. ich ein motor einstecken kann und es gibt im band schleifgerät irgend etwas wo ich ein motor einstein packen kann und alle drei geräte haben sicherlich an
  54. und ein ausschalter hier finde ich im buch den finde ich in der kreissäge und den finde ich in bands live geräte und dann haben alle drei
  55. etwas spezifischer funktionen und eigenschaften natürlich und zwei gucken wir uns hier an der bohrer kann bohren kreissäge kein segen oder schneiden und
  56. das band schleifgerät kann schleifen was machen wir jetzt damit das sind alles drei elektrowerkzeuge die haben ein paar gemeinsamkeiten und
  57. die haben paar unterschiede feinheiten die sie dann wieder spezifisch für sich machen oder spezieller machen vom elektrowerkzeug hin zu dem ganz
  58. speziellen elektrowerkzeug was dann sind und diese gemeinsamkeiten die würden wir gerne tatsächlich zusammenfassen hier an der stelle in der klasse
  59. elektrowerkzeug warum weil diese gemeinsamkeiten wenn wir das in kot ausdrücken doppelt vorkehren der motor mit dem einen ausschalter kam empor
  60. vorkam in der kreissäge vorkam im band schleifgerät vor war natürlich unterschiedlich waren unterschiedlicher motor bei der schalter ist auch darum
  61. das konzept ist das gleiche jeweils das gleiche und das würde ich natürlich gerne in einer gemeinsamen eltern klasse oder basis klasse zusammenfassen was
  62. daneben das elektrowerkzeug ist dadurch dass ein bohrer an elektrowerkzeug wird es dadurch ist eine kreissäge ein elektrowerkzeug ist
  63. und dadurch dass ein band schleifgerät ein elektrowerkzeug ist haben die automatisch ein motor mit an- und ausschalter und dass dieses haben
  64. automatisch kann ich durch vererbung ausdrücken weil alle drei an elektrowerkzeug sind und je nachdem wie ich durch dieses diagramm gehe habe ich
  65. von unten nach oben oder von oben nach unten gehe generalisierte ich einmal vom bohrer zu dem generellen konzept zu der generellen klasse elektrowerkzeug oder
  66. wenn ich von oben nach unten gehe spezialisiere ich das elektrowerkzeug hin zu einem bandschleifer da es hier wie gesagt einmal als quasi uml diagramm
  67. ausgedrückt und jetzt nochmal in c++ code ich habe meine klasse elektrowerkzeug mit den öffentlichen methoden an und ausschalten und den
  68. privaten attribut motor da kann ich natürlich gucken dass ich jeweils den richtigen motor ein stecker aber ich habe einfach wo ich einen motor
  69. einbauen kann aber ein an- und ausschalter gibt es erstmal dadurch dass es ein elektrowerkzeug ist und das fach für den motor gibt es auch dadurch dass
  70. es elektrowerkzeuge als die generelle basis klasse spezieller wird's wenn ich daraus einen bohrer mache hier oben eine kreissäge oder ein band schleifgerät
  71. alle drei erben öffentlich vom elektrowerkzeug hier und hier auch nochmal sie erben öffentlich davon damit sind sie elektrowerkzeuge im gegensatz
  72. zu dem einführenden beispiel haben aus c hier ist es sie sind tatsächlich elektrowerkzeuge kriegen also automatisch den an- und ausschalter mit
  73. und kriegen automatisch auch den motor mit können dann aber etwas spezielleres spezialisieren also das werkzeug durch eine funktion zum boden durch eine
  74. member funktion zum schneiden bei der kreissäge und durch eine member funktion zum schleifen beim bandschleifer und jetzt mal immer noch mal ein ganz
  75. kleines bisschen von dem gemälde graben wieder rein dieses erbt von drücken wir da natürlich hier mit den pfeilen aus und dann haben wir beide diagramme
  76. endeffekt wieder zusammengebracht haben wir den code und einmal die schreibweise im ml diagramm was haben uns angeguckt vererbung ging in cee als art und weise
  77. zu programmieren das ist vielleicht nicht ganz so komfortabel warum es ist nicht komfortabel weil mir die sprache die ausdrucksweise nicht zur verfügung
  78. stellt dann schlicht und ergreifend weil dadurch c nicht objektorientiert ist im sinne von die sprache ist nicht objektorientiert arbeiten kann ich da
  79. trotzdem gewissermaßen objektorientiert und dann haben uns angeguckt da sich diese vererbung in c++ tatsächlich mit bordmitteln als echte
  80. vererbung ausdrücken kann die sprache also dann tatsächlich objektorientiert ist im sinne von strauß druck klar es wäre sehr verwunderlich strauß trupp
  81. hat's erfunden das c++ und wir haben uns ein ganz kleines ein führendes beispiel angeguckt einmal genau genommen zwei einmal das mit den studierenden und
  82. einmal das mit den elektrowerkzeugen und das wird uns wahrscheinlich auch noch ein kleines bisschen begleiten [Musik]

Zum Nachlesen