[Playlisten] [Impressum und Datenschutzerklärung]

05B.5 Simulation Amöben und Bakterien; Vererbung, Polymorphie; Teil 1


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

heutetatsächlich mal was mit Klassen die sinnvoll voneinandererben und zwarzwei Klassendie von einer Mutterklasse Erben sorgt die eine KlassesollBakterien darstellenan eine biologische Simulationkeine langen Bakterien sondern als punktförmigeBakterienund die andere KlassesollenAmöben seinund beide sollen Lebewesen sein als eine Klasse Lebewesenoder wie sie auch immer nennenund von der Erben die amöbendessenhier die dicken grünen und des Erben die bakteriellersind die kleinen rotenundbeide sollenbeide Sorten von Lebewesen alle Sorten von Lebewesen sollen vier Sachen können Sie sollen eine Methode haben zum befähigensonnenklarzufällig bewegensoll sich in jedem Zeitschritt überlegen ob ich allerdings nicht einfach rechts und so weiterdas sollte alle können sie soll sich vermehren könnenwir nachdenken man dasbauen kanndenn damit der Prozess ein Bakteriummehr als ein Bakteriumdie sollen sich zeichnen könnenwir das schon bei den Autos mal hattensich fragen lassenund das spannende istdas diegucken sollen ob sie jemand anderem begegnendenn die Amöben sollen die Bakterien fressenwenn die den begegnenBegegnungund Reaktion daraufistunddie Reaktionimmer mitgefressenguckenSie mal ob sieschon sehen wie sie das bauen könnendas bewegendesZeichen müsse das einfachste seinBeistrich ist das das Beste zum Anfang bewegen Und-Zeichenalsodrei Klassenaufdrei Klassenlebewesendavon erbteinmal die MöwedavonPunktdas Bakteriumversuchte man aus dieser Skizze irgendwas zu bauen ??ja es war die drei Klassen ich würde alle drei Klassen in eine eigene Datei setzenGeschmacksachewas ihr Musik rechts im ProjektmappenExplorerals Vornamehinzufügenlassewenn sie die Klasse schon sofortsinnvoll benennen?? Lebewesenentsteht daraus sofort Lebewesen drindannoffensichtlich soll diese Mutterklasse abstrakt sein ich möchte nicht ?? Lebewesen bauen sondern ich möchte nach Amöben bauenund ich möchteaktiven Bauernklassesoll er von LebewesenundKlasseimmersetzen unter der Klassedenke ich vielen von ihnen auch sehen was da unbedingt reingehörtmüssen natürlich wissen wo wirKoordinatenwiederich würde mir die jetzt als?? in mich gehenwürde ich schon merken das ist schon ein vereinbaren Nebenwerte natürlich keine dieser Zahlen sein sonderngebrochene Zahlenaber das machtmandannwürde ich dafür sorgen vielleicht bevor sie anfangen ihr was mit diesen vier Methoden zu veranstaltenjede Woche was Traktorirgendwie müssen sie Y gebaut werden ich würde den Link tatsächlich ein Faktor gebenderdie Gibson einfach würfeltSansibardafür dass die Tipps einfach gewürfeltwerden?? obendreinin einer vernünftigen Bereichund vielleicht dann erst die anderenMethoden dazusoist es leider nicht ganz richtig aber ich fand manich baue ein Zufallszahlengeneratorwenden Beistrich der hierenden Planund frage den Zufallszahlengeneratorgemessen werdenLeertaste ?? liefertdieses nächste Jahr diverse Variantenfür vier nächst von null bisachtundzwanzigdrei hundert oder so was das jetzt also bei Zahlen von null einschließlich bis hundert neunundneunzig einschließlich bautund für Ysage ich ihm von null bis hundert neunundneunzigso würde sobaldein Lebewesen gebaut wird einiger Lebewesen sobald eine dieser in Klassen gebaut wird ?? automatischob X und Y natürlich werden automatisch mit Yum eine ?? zu bauenmuss das Lebewesen gebaut werdenund dazu bitte gewürfeltdanndas hierder der Zufallsgeneratorso eingebaut ist mach ich noch nicht hundert Prozent glücklich was wäre sinnvollerich zeige das aber so was passiert wenn ich jetztmaleinfachzu Beginn meines Hauptprogrammssagebaue mir doch maleine Amöbensoauch mir doch mal einbisschen der Kontrakte der Hauptfensterklassedas Wetter zu Beginn aufgerufen zu Beginn wird jetzt einePunktsieda bin ich jetzt angekommen danke ich reinder ??elf Einzelschritthineinum eine Amöben zu bauen ist das erste was passiert dass der Kern gebaut wird ein Lebewesen an einer Möwe ist ein Lebewesenmit etwas mehr?? es wird erstmals das dieser kerngebautesLebewesen gebauten Anbaufaktorvierfarbig Lebewesenwir bauen ein Zufallsgeneratornun wenden wir bauen ein Zufallsgeneratorund fragen den Zufallsgeneratornach der xxeinundfünfzigfünfzigundfertigmir ?? nicht zu tun der Möwe kann er noch nicht mehr als dieMutterklasse das LebenLebewesen zurück warumist das den ich als effizient was hier passiertgenau das für jedes Lebewesenwird einmal so weit sein Generator erzeugtdas in dem Wissen heftigwenn ein Lebewesen zu bauen ist er Zeuge einer Zufallszahlengeneratorverwende den um zwei Zahlen zu generieren und vergissdas Essen ist unsinnigvor allen DingenZufallszahlengeneratorender ??zu verzeichnen neue Zeile Zufallszahles kann sein das wird wahrscheinlich sogar sein mit zwei zu kurzen Generatoren direkt miteinander erzeugenzwei Lebewesen wirkenden Erzeugnisse zwei Zufallsgeneratorenerzeugendas die beiden genau dieselbenErgebnis immer liefern sollte nur ein Zufallszahlengeneratorgegen das jetzt ein und in der rauszunehmenund in die Klasse zu setzensoweit ich aber nichts gewonnendas wäre von der Bedeutung her praktisch dasselbe wie ebenjedes Mal wenn ein Lebewesen gebaut wird bauen wir ein Zufallszahlgeneratorwas muss ich ändernja jetzt jedes Lebewesen eine X Koordinateeine Koordinate und ein Zufallszahlengeneratordas es ineffizientstetig alle maletwas anders als in Cirgendwie vergleichbarmit dem ?? einen See gesehen hat aber doch nochtrocken anders als das was sie bedeutenLeertaste Ästhetik ebender Zufallszahlengeneratorvon demeinenund der steckt in der Klasse trennt den Bauplan nicht in jedem Lebewesen steckt einer drin sondern in der Klasse ist eine Klasse gebundensind das ist Normalbauplan?? zu vergleichennormaler Bauplan hat Nichtsrechtesdes ?? gezeichnetaber jeder widrigen Programmierung könnte tatsächlich sagen der Bauplan hat auch tatsächlich was nämlich zu verzeichnen hatte ?? ein einziges Malfür die gesamte Klasse das ?? kurzzeitigsodann aber wiederum erledigtzurück zu einigen AufgabewegenBelegegeradeschwierigwir fangen mal mitbewegen an sie gebendem Lebeweseneine Methode mit der sich zufälligbewegen kann ??nichtdiese KoordinatenX Ydie stecken ja in dem Maschinchen drinnen das hier wären Instanz von Lebewesenwenn sie wollenX gleich dreizehn sechs hundert zweiundvierzig das Lebewesenweiß wo es sitzt bei dreizehn zweiundvierzigDas heißtum das Lebewesen zu bewegen??ändert es einfach die Daten in sich drinnen gibt's niemandem dieses X und das Y sondern es ändert einfach die Daten in sich drinnenvon ihm versuchen gerade was zurückzugebenähmdas ist es aber nichtöffentlicheMethodedie nichts zurückgibtdeDeckeund auch nichts nimmtzufälligseinmöchte ich weiter definieren?? so sehr das Hausvon außenmöchte einfach nur lästig sodass selbst dann ändern was da drin steckt in den jeweiligen Maschinchenmit dieser Methode diese Methode soll nicht zurück lieferntut einfach nur was mit dem Maschinchendas Maschinchen ändert sichinnen drinnenund sagt mir nichts weiterviel mehr sage ich aber diesen MaschinchennamensLebewesenvon der Sorte Lebewesen Maschinchen sagenwichtig manbewegt sich dann irgendwo hin undsagt mir nichts mehrals Antwortdas ist der Gedanke??ist wirklich eine X und Y ein bisschen verändernkriegen Sie das Hinexistiert schon ein bisschen verändernja was kleines addierenausgleichenjetzt endlich etwas kleineszum Beispiel Zahlvon minus eins bisplus einswickeln keine Zahl von minus ein bis plus eins Zufall Punktnächstensalso falls seinen angegebenen Bereichschönminus einszweisolltefunktionieren?? Zufallszahlab minus eins bis hundert zwei minus eins null oderplus eins und dasselbe mache ich fürYdas Komma sondern um eine Aktionjetzt kann ich ja sagenÜberwegesind Communities eigentlich ein Lebewesenwerden jadie Erbenoderangucken was sind würdige Methodenmöglichst erzeugtes habe ich eben vorgeführtPunkt derzeit sitzt sie bei hundert siebzig hundert fünfunddreißigKomma die baldige Methode angucken gegen einsoX war hundert und siebzighundert siebzig NaturY war hundert fünfunddreißigsiebzehnhundert sechsunddreißigmitgenommen ?? minus ein in Aktion sehenruntergehtmalwieder reinderzeit vierundsiebzigdreiundsiebzig??Komma dass wir die billigste Lösungdürfte Zufallszahlminus eins null einsaus dieser MengeDialektsprechen für Yam?? deiner verfeinerndass sie keine beliebig groß werden ist in Kanada nach rechts und unten nach oben aus dem Bild raus wandern?? wieder einfangenegal sowie das erst mal tun??eine Methode bewegedie danngeerbt wird von Amöben und taktierenmüssen seit nachher auch noch was ändern dass dieAmöben bisschen langsamer sind als die Bakterienneunzehnhundert ?? Punktdas wird auf jeden Fall schon mal das WiegenzurückzumPlandas Zeichen des Himmels was zu sehen das Zeichen als nächsteseben auch was schief geht oder was sich tief geht es ?? gerne sofort in LeerzeichenFunktiondas Zeichnen wie sich diese schon gesehen habenehe ich gehe hier in SamesameSammeldateian und mache das mit seiner KenntnisLeerzeichenerkennen Beistrich noch einen Namen gebenkönnen Komma dass ein Offiziermal wieder als kleine gefüllte Ellipsenwenn sie irgendwasam Ende dieses Semesters können das kleine gefüllte Ellipsennachmittagmitmehrwirklicherjetzt wird etwas spannender was die Vererbung angeht was es ableitenPolymorphie und so weiter angehtdieMutterklasseLebewesensoll Funktion zum Zeichnen habenwir sagen es wird eine Ellipseauf der Zeichenfläche interessiert nachder Möwe soll einegroßegrüne Kreisscheibemachen und das Bakteriumsoll eine Meinung oder Kreisscheibeund dass man so einmitVererbungüberschreibennach den Regeln der Kunstgibt verschiedene Ansätze muss man könnte die könnten tatsächlich für alle gemeinsameine Ellipse bauen undin die Kinder der Kenntnis rein hängen das wird von Lebewesen irgendwie veranstaltenmüsste man dann dafür sorgen dass diese Ellipse passend in der Größe eingestellt wird und passend in der Farbe eingestellt wird in den Kindklassen das wirddoch etwas aufwendig gekriegt Ellipse dann übergebenan die Funktion in den Kindklassenkönnte man hinkriegen?? ich wird folgendes machen ich würde ein Versagen des Kraftwerksnichtszurückals Zeichnerund sieht richtig andersdenken was Kinder hier nicht dasHerz bauenUnix-SystemenPunktdie ??in der andern Datei braucht man das nichtwie mit dem HauptfensterDamen nämlich erstens ist groß schon drin ab Werkja nicht gerade automatischeszufügen lassen sind Systeme des Kontosdamit er hier auf die in den Tücken des zugreifen Komma sie können ortete Leertaste VorfahrtssystemPunkt Windows Punkt Controls Punkt Kenntnissind die Tipparbeitsowarenund die Kenntnisdarauf möchte ich ZeichnenSemikolon Wahl erstrecktMutterklassesollAnsagenalle Kindklassensollen bitte seine Zeichenmethodehaben wir eine Kenntnis nimmtnicht zurück liefern?? Mutterklasse selbst soll nichts machen an der Stellenicht verraten ?? diese Methode aus Abstractund das ist auch okay weil die Klasse selbst ist ja auch schon selbstkönnen selbst nicht vor der Klasse habenkein weiteres erzeugt in der Klasse das heißt einfach nur die Klassiker nicht lizenziert werdensobald sie die Situation wir haben eine Methode die Ärzte des Wahlgang verraten wie die Methode gehtmuss diese Klasseerstreckt seindas war der Vorreitereine abstrakte Methode in der Mutterklasse drin und es war man hierbei den das Versprecheneines sonstigen gehtkorrekt ?? Blick erstreckt Punktich möchte gerne von außen drauf zugreifen?? Kern meines Programms liegt in der Hauptfensterklassenicht bei diesem Lebewesen seine Hauptfensterklassevon der aus Medina sagen können Zeichnendeshalb ist sie ein paar Blickgar nicht mal so schlechtauffindbar oder Barrique wird es nicht zuZeigern aus der Schreibweisezurückdenkenund sie eine Funktiondie eine ganze Zahl zurück liefert sie heißt erunsnimmt von mir aus eine double-Zahlgegendas Ginster vorne sagt was zurück kommt es bei uns Antwort des Berichts zu SF ist der NameAnführungszeichen aufdouble ist der Typ der übergeben wir es hier übergeben wird ist eine Referenz auf KansasXist der Name der Variablen in der das nachher stetsvariabel heißt uns die Kenntnisinteressieren implementierensieein?? Besitzer genauso aus mittels implementierendas Verstehen von wegenTurn??und etwas rechnen mit X zwanzigstersowaswie double-Zahl in diesem zum Reinfall wird gespeichert in einer Variante namens X Arbeitzweitedas ist die Rolle hier von der ?? bezeichnet die Kenntnisüber werden wir das Verlangenanwobei hier Nonnehat die Methode die Klavieredaher natürlich nie wirklich angelegt wird Punktverwendet wirddie unten mit Listen wirklichausführendann brauchte tatsächlichen Variantenalsoin der Klasse Möwe in der Klasse Bakteriumdas Zeichnen tatsächlich malimplementieren??jamehr oder minder automatisch wenn Sie mir sagen Oberweitemöchteeine Methode der Mutterklasseüber SchreibenOberhoheitdie Methode der Mutterklasse muss dazu erstreckt sein das heißt dies überhaupt nicht vorhanden in der Mutterklasse sondernnur alsdenke sozusagen im Geiste vorhandenoder sie muss in der Mutterklassewird Schwulsein virtuell seinwenn die nur das virtuellesdeutsche Hersteller erstreckt ?? tatsächlich auf Implementierungin der Mutterklasseeinzuleiten muss der Fall sein damit sie Oberweite sagen können ich möchte Sie überschreibenich möchte überschreiben Zeichnenmit der Captain ja ignorieren sie Mannesmannso sehr das ausgenommen AusrufungszeichenPawlik vorhernicht zurück wie vorher der Name natürlich wie vorherwas übergeben ist wie vorherin der Mutterklasse erstrecktoder Virtualund einiges Oberhoheitmit Oberweite zackigüberschreibendeutschen ?? lustigerweiseüberschreibenPunkt achten Sie Oberweite nicht Oberreitnicht nichtweitzum OberweiteüberschreitendeSysteme sozusagennicht überschreibendanninJava kann man inzwischen auch einer bestimmten Stelle Oberweite sagenunsin C plus pluskann man lustigerweise inzwischen auch Oberweite sagen sie haben sich angepasst?? es ist sicherer hier immer nur drin stehen zu haben am Anfang der objektorientiertenProgrammierung mit C plus plus war das nicht der Fallbei ?? abergenausosicher ist es auf jeden Fall streng sie müssen das Oberweite Einschreiben sonst gibt's Ärgerdas Kündigunganzeigenmeiner Geburt drin stehen haben und ich sage erstellengibt'sja auch aus anderen Gründen gibt er mir Ärgernicht gründliches erwartet hätteer die Klasse Lebewesen des Effekts mit der abstrakten Methode zeichnendas am mürbe ist nicht abstrakt oder konkretund muss deshalb das Zeichen jetzt implementierendassagte mirjetzt eine sinnlose Seite revidiert wird wenn ich da kein Oberreizvorschreibenwieich mich an der Stelle sondern ander Stellewie baue ichdiese Methode zeichnen der Zeuge eine neue Ellipsejetztfiel sie wieder zu sehenist Windowsschecksoder sie schreiben kompletteSystem Windows selbst gibt'sdavorKommaaneinträglicheobenist selbst einund ich komme dem Ausrufezeichensodiese Ellipse sollEllipse soll eine bestimmte Breite haben?? schon relativ groß und fünf Komma nullZifferhöher habe?? null diese Ellipse sollFarbe habenwillaus der Sammlung raschesMöbel sollteeinrasches Taxi für ein you singdiese Ellipse sollte in dieKenntnis rein gehängt werden dasheißt alsodie Referenz auf Kenntnis die da übergeben wird die Kenntnisder sage ich zu deinen Kindern Papierezuunserersie sagen es nicht dem Typ sagen es nicht Kenntnisseines diese Ellipsewieder oben ankommtKenntnishabenund es heute noch die Stick platzierendas sage ich jetzt absurderweiseder Campbells KlasseMicrosoft sogebaut hat der Kindesklassesage ich?? selbstlinke Seite soll platziert werden von der Ellipse die linke Seitesoll platziert werdenauf unsereX Koordinatein der X nicht schwankende X nichtneu pro Tag zur Arbeit ist es derzeit noch nicht wieder gar nichtses ist genau es müsstegenau das ?? sie könnten oder getrost ?? schreiben nicht dass sie erst mal frei wirdes aber richterlichen Interesse drauf zugreifen ist ?? niemandaußer Lebewesen aufzugreifenwenn es oder steht das es blöd weil ich bin derKindklasse beginnt das Wussow zugreifen können ??dieeinfachste Lösung ist die Macher des Protected dann können auch die Kindklassen aufzugreifen??sie sich schuldig mache sofort mal ?? Party darausdass wir über die Art man das in zehnScharveranstalten würde Komma die Ganzzahl ichmir dasschaffeX zurückundspricht für dasdas wäre die ?? sind sicherüblicherweisewardas Protecteddes Protected machen ?? tätigen Tassen kündigte auch verändernKomma dass wir hier von Protected reinschreiben heißt dass die Kindklassen können nicht nur lesen Sie können auch schreibenso machen heißt dasFabrik der vorschreibendann kann jedermannegal wer lesenaber nur ich selbst das Schreiben innerhalb der Klassedas etwas sicherso ist kann versierte Sikhs zugreifen das ist mein XLebewesenich ziehe noch zweieinhalbabdamit wirklich in der Mitte bin die Lips ist fünf bereitsdie linke Kante sollte zwei Komma fünfvorne anfangenso dasselbe fürGordon hat von obensetzt topund Y zwei Komma fünfdas wäredas Zeichnen für die Abendmöweund das Zeichen für das Bakteriumdas isthoffentlich immer wieder sagen keine gute Idee istes am Bakterium nehmen ??machen etwas kleinerwerdenzweisehr kleine heuteeins Komma nullKomma null damit ?? ich respektieredaskönnen die Amöben und das Bakterium sich zeichnen und es sich in Aktion sehenihr sondernder Hauptfensterklassedarsoll sich jetzt mal nicht bewegen sondern sie soll sich zeichnendas britischesound dasselbe mach ich mal mit einem Bakteriumdiedas soll sich zeichnenPunkt Zeichensodas muss ich mal sagen ?? mit kritischer Lebens anderses gibt eine Variable namens Patricia David automatische angelegtund entstehtautomatischeine Referenz auf diese Kenntnisin unserem Hauptfensterziemlich diese Referenzauf diese eine kenntnisreicheFläche in unserem Hauptfensterlieferte dasan diese Funktion zeichnean die Methode Zeichenkommthier anihr kommt die Referenzauf unsere Zeichenflächeanund wird gespeichert in einer Variablen die Kenntnises heißt ja nicht mehr wirklich alle Seitenhiebe des gespeicherten?? haben die Kenntnisdass sie dasselbe Ding drinnen ein Verweis auf dasselbe Ding und die Variable heißt dannja gestern auch sowasnicht vergessen als diese variabelwilligelokal heißt es egal wenn sie die irgendwieKenntnisso zu vielPunktda müssen sich unten aufsagen Kenntnis und zu vielwichtig ist nicht wie diese Variable heißtschon wichtig ist was in der Variablen drin stehtihr steht drinnenwas an dieser Stelle reingekommenistals eine Referenz aufdie Zeichenflächeunseres Fenstersim Prinzip einen grünen und einen roten Fleck sehenokayein Grün und ein tausend sechs ?? sechs übertriebengrößereimmer gerade auf die nurneue?? Minister irgendwasamwandern sehen in der Petrischaleich baue malein FA aus lauter Lebewesenganzandersgesehen das wieder etwas kürzer ?? ?? SW gar nicht neumache folgendesich habe das ?? Komma Vize ich hatte nicht nur Lebewesen und sonstige ?? ihn sieinitialisierendieses Gerät miteiner neuen Amöben und noch einen neuen Amöben noch eine Neunermöweund ein paar Bakteriensoalso viel hübschersei sound natürlich noch ein Name davonLebewesen oder mindestens zueinemNamenvergessenda wird also eine Rallye mitsoundsovielneuen Amöben und soundsovielneuen Bakterienzu vergessender Restwie gehabt jedoch einen TimersystemWindows welligenDispatchertimerZeitgeberder dem regelmäßig Bescheid sagt?? gleichneunundzwanzigbauenFaktor aufrufen und klammernden seiteinUhr soll einZeitintervallhabenPunktTimesbeenden Punktnamens Zeckenauch für alle hundert Millisekundenbald ausfindig glaube ich inzwischen auswendigdie Uhr soll Staatenund ich musste in den Versandkostenregelmäßig machen sollzur Uhrticktdas Ereignisganz gleichwie der Name meiner Methodeanimierendie soll es regelmäßig aufrufen werden alle hundert Millisekundendie Aussicht gibt nichts zurückanihre oder animierteBefehlsform animierenund dann muss die Internetimmer sowas haben die Objektsenderund Pentaxwas an Details so passiert istokay damit öffentlich fertig werden was machen Sie jetzt in animierensinnvollerweisedamit wir etwas auf dem Bildschirm sehenin Bewegung?? Vorschlagweiter damit auch ?? for-each-Schleifewas meine for-Schleifedie Welt so durchgeht??zu sein Punktwennnicht jemand so durchsein Leben hinzuKomma was einschönerSarg neben dem Kind zusich zeichnenauf unserer ZeichenflächeistSchaleundzu Beginn sollte ich noch dafür sorgendass der Bildschirm abgeräumt wird Punkt schade Punkt schönhierund jetzt sollte man eine Hand voll bakteriellen Handvermögensehen die irgendwie über den Bildschirm kriechenBeistrichist zu viel gesagttorkelnBestellseite etwas zielgerichteter machenaber sie scheint sich zu bewegendabeiist das nur was zur Polymorphiesagen Sie nicht jeden so durchein Element vom Zoo nach dem anderenin so stehen Lebewesendrindas können Amöben sein oder Bakterien seinich sag jetzt allgemeindiesem Lebewesenbewegen sichund dann seit diesem Lebewesen allgemein zeichnen sichund je nachdem ob das Lebewesen eine Materie ist oder einer Möwe passierte was anders bei den Zeichendass es Polymorphieje nachdemwas es wirklich ist alles ist ein Lebewesen aber je nachdem was es wirklich istam Möbeloder Bakteriumhabe ich einmal komplex und einmal roten Tag heute beide Male Zeichendas istPolymorphieund resultiert darausApps in der Mutterklasse sagen Absolventendieserund in den KindklassenOberweite ein Kind Klassen verhalten sich anders als die Mutterklassehabendieselbe MethodeKomma verhalten sich an