[Playlisten] [Impressum und Datenschutzerklärung]

04B.1 Stausimulation; Klassen, Properties, static; Teil 1


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

zumwiederholenvon den Sachen die man Klassen reinschreibenkannsofort Werbung gehtfolgendePraktikumsaufgabeaus dem letzten Semesteran das ist der Anfang einer Simulationwie Staus entstehenSituationich habe einenRing als Straßesehr abstrakte Straße ein spurig Manga nicht überholendarauf fahrenrote Punktedas sollen die Autos werden in sehr abstrakter Formsie an das man das alles müssenAusraster machen könnte aber selbst das ist schon interessant Komma dass auswertetalsanLIEFERN jeweils mit verschiedener Geschwindigkeitsie haben zufällig Anfangspunktealle fahren in dieselbe Richtung von mir ausrechts herum an den Kreisund sie dürfen sich nicht überholenKomma sich anguckenwie Staus stehenin so einem ganz billigen Modelldas soll's werdendann Informatikoder Fischer programmiertechnischdezenter umgehendieses Jazzklasse zu bauen eine Klasse zu bauen die so einAuto darstelltund ich sollte vielleicht zu Beginn noch mal was zu Klassen sagennoch so eingefallen istund erklären kannBeistrich wenngleich eine Klasse haben die heißtauf Englisch Kanaldas klarzumachen eine Klasseist quasi eineBlaupauseein Bauplanda erklären Sie wieetwas im Prinzip gebaut werden muss und wenn man sein erklärt hat dies im Prinzip gebaut werden kannkann man's auch millionenfachbauendie Klasse ist nur der Bauplanklasseist nicht das wahre Dingdas wahre Ding entstehtwenn sienunKarl sagendann entstehtein wahres Dingundwenn ich will entsteht es gleichzweifachoder dreifachsolange stehen gleich drei oder vier oder Millionen davondas sind die Instanzendarüber schreiben als die Klasse ist der Bauplanund die Instanzensind die echten Dinger nach diesem Bauplan gebaut?? ObjekteObjekte von diesem Typ das sind Instanzender Klasse die Klasse wird Instanz ihrBaumund die speichern uns irgendwodann in einer Variablenvom Typ K vom Erscargleich K und KWgleichlokalhier steht der Name der Klasse als Typsowie ?? vor was hatten die ins C ist gleich zweiundvierzig der Typ war inihr ist der TypK ?? der Name der Klasse ist der Typhier stehtder Name der Klasse Arsenal meiner Funktionals Traktor die Funktion dies so ein Ding bautdas sagt man mit dem Judavorbauein neues von dieser Sorte und mit den runden Klammern sagt man auch das es ein Funktionsaufrufist in runden Klammernkönnen auch noch weitere Sachen drin stehen baue mir ein laues Auto bau mir ein Auto mitzwei Türen statt vier Tuner mit fünf Türensowas wäre was man dann noch quasi in runden Klammern übergeben kanndie Massaker mitteilen kann was man gerne hättedas hier ist der Aufruf einer Funktiondas davon ist der Name eines Typsnahm Klasseund den sie scharfwie in Java wie in C plus plusheißen dieKonstruktorenhatte von dass diese Funktion Kurzfaktordiese Funktion heißt wie die Klasse heißtist nicht überall so aber den üblichen Sprachen ist das sodannletzte Geschichte Bus vors losgeht noch zu diesem Prinzipwas wird jetzt eigentlichin der Variablen Agespeichertund sie schafft zumindest was speichert sie Sharp in so variablen Agenau nicht das ganze Dingdas es wichtigin der Variablen A steht nicht dieses Objekt drinnen in der Variable A steht nur ein Verweisauf dieses Objekt trennenähnlich wie in C die Zeigerdas merkt man dann?? die Namen sagen dafür Referenz ist offizielle nahmen sie Schaden der Variablen A habe ich eine Referenzauf dieses Objekt irgendwoim Speicherirgendwo im Speicherist mit dem nunwirklich weiß also tatsächlichirgendwo im Speicher mit ?? ist mit dem du ein Objekt angelegt wordenund diese Variablenamens Adie Verweisauf diese Stelle im Speicher die Verweis auf dieses Objektdas ist der Gedankees istnicht vorgesehenKomma zumindest sehr schwierig tatsächlich an diese Adresse dranzukommenanders als in C und C plus plus wurde die Adresse sofortbenutzen können und damit rechnen können ist es eben sie scharf und in Java genauso nicht vorgesehen dass man so direkt an diese Adresse dran kommen kann aber es verhält sich ähnlich wie Anzeigerin zehnnur das will ich damit rechnen können es die zeigen sich aber an anderer Stelle man kann zufällig hinkriegen aber mit diesenReferenzen grundsätzlich rechnen sie kann nicht sagen wen sie hier eine Stelle weiterzum nächsten Auto speichertLancia sich als Kunde dasnundas ist die Idee von diesenReferenztypenklassensind Referenztypdie Variablenmerken sich nureine Referenz sie merken sich nicht das ganze Objektwarumsind das überhaupt ein Feld das auf der sich eine Variable nicht das ganze Objekt merktsiekönnen mehreremehrere Referenzen auf dasselbe Ding haben wenn ich sowas sagen wie CarC ist gleich Ahabe ich zwei Referenzen auf dasselbe Dingdiese Variable anmerktsich nicht das wahre Objekt sondern nur wo's zu finden ist welches Objekt ist das es gibt dieses Objekt nur einmaljedes Mal wenn ich ?? Aufrufe wird ein neues Objekt gebautdiese Situationwird kein neues Objekt gebaut sondern sie bei ABCverweist auf dasselbe Objektmit jetzt den C sagen soll irgendwas tunwerdendie Tür aufmachen oder losfahrenmacht SA dasselbe weiters ist dasselbe Objektdas sie nicht zwei getrennte Sachenmuss man sich manchmal dann wird das in der Situation nicht zwei Autos entstehensollen dessen Präsentation immer nur ein Auto da istaber ich habe zwei Referenzenan zwei Stellen habe ich mir gemerkt welches Auto das ist und ich kann die beiden Referenzendasselbe Objekt bedienenan das ?? sicherlich im Laufe der kommenden achtzig Minuten noch hier und da sehengroßegroßer Knoten ins Taschentuchdabei vorsichtig sein?? ?? edition mitgenommen aus den Videosdas ist nichtimmer sodie Geschichte mit den Referenztypenes gibt noch was anderesund sie schafft zumindestder ?? um alle Leute zu editieren gibt es in sich hat noch eine andere Art wenn sie nicht klar sagenklasse wenn sie nicht klar sagen abstrakte sagenbringen Sie das Microsoft einen Werttypnenntunter Werttypen ist es gerade nicht so Wertstücke verhalten sich wie sie das aus C kennender Typen verhalten sich der gesonderte Inhalt der Variablen gespeichert ist NK ein Lehrstück beantragtund ?? saßich hier ein zweites Auto erzeugteine Kopie des ersten erzeugthaben das verwendetMicrosofts Videothek bei allen kleinen DatentypenPunkt auf dem BildschirmDatumsangabender Geschichte bei Microsoft dannder Typ abstraktdas heißt zwei der Knoten ins Taschentucherstens muss man dran denken dass lassensich so verhaltenes werden Referenzendurch die Gegend reicht die Zeiger in C PluszeichenCaber diese kleinen StückchenDaten und ähnliche Geschichten die werden dann doch wieder ganz normal durch die Gegend gereichtdas ist der zweite Knoten im Taschentuchdas immer sehr normalen Fernsehenanviel Vorbemerkungenfand ich aber immer wichtig das zusammenzufassenso zurückzeitlicheAufgabendann schreiben Sie mal die Anfänge einer Klasse namens Car Handy soll seinabsolutes Auto leiderdarstellenjede Instanz der Klasse soll wissenwo dasAuto gerade ist und am einfachsten denke ich merkt es sich mit Zahl von null bis einsfür die erste Rundedas ?? hier und irgendwannbis dahin will ich sagen sind ?? Position ein halbgesehen würde ich sagen sind dabei Position ein Vierteldannnach der ersten Rundewerden wir hier bei Positionein ein viertelso würde ich mir das merken die Zahl derrundennach einer Rundeist die Zahl einfach zwei hundert ist die Zahl zweiWochen Zeit machennull Komma zwei fünf null Komma fünf null Komma sieben fünf null Komma acht null Komma neun eins Komma null als ungebrochen zeitigeZahl der Kundensollgespeichert werdenund dannwäre ein konstanter schönschreib das mal als Attributhätte gernedie Zahl der Runden gebrochen zahle ichund ich hätte gerneein constructionSchotter für deutsches Hoftorauch fürPCs seiner Wirkungsfaktorauf Englisch ?? Konstruktordiese Konstruktor sollenkeineweiteren Informationennehmen also in der Standardkonstruktordie ForderungsfaktorStandardkonstruktores soll aber diese Position auf ein Zufallswertsetzenscheint sie das macheneine Klasse mit diesen beidenElementengute Idee Komma nachher sowieso die Geschwindigkeitwäre auch nicht schlecht eine Gebühr für die Geschwindigkeitalso zwei Attributezwei AttributeZahl der Runden undeine gewürfelte Geschwindigkeitaber genauso die AnfangspositiongewürfeltdieGeschwindigkeit soll natürlich nicht so massiv sein sie fragen immer Erlaubnisfür die Geschwindigkeitin Zahl der Rundenpro Sekunde messenoder Zahlungen pro Minute ?? besser und pro MinuteRunden pro Minutedas dann irgend so was wieeiner zehnfünf sechs sieben acht neun zehn bei zwanzig ?? schon recht heftigda eine handliche Zahl dürfenfür die Geschwindigkeit an ein zweitesdurchdiese Begriffe oftmals ein Attribut sind Daten innerhalb einer Klasse das sind die Attributeundder Kontakt oder ein Beispiel für eine Methode eine Funktioninnerhalb einer Klasseganz viele neue Begriffnurzu gutja also denken Sie drandass die Klassen erst mal eben anders stehen sollten nicht Leben annimmstBeistrich sozusagen das Fachbei der Teilung soll die Abteilung in meinem WarenhausLebenswegist ehrlicher Mensch bis in ?? aber wäre das ein Paketanden C++ wäre es auch ein nettes PS wie wir sie schadendas ist meine Abteilungda drin lebe ich okay innerhalb der Schweifklammerist aber möglichst nicht innerhalb dieser Klasse das gibt's auch Bankenklassenin Klassen einpackenwäre mir zu ?? bisschen zu schwierig für den Anfangneben der anderen Klasse das heißt davor und dahinter aber nicht da drindie Reihenfolge dieser Klassen hierist für sie scharfe Gas wäre weit aber auch egalBeistrich der Compilergeregeltwenn sie die durcheinander schreibenKomma ineinander ist ?? andere Geschichte mit ist in dieseMängelklasse reinschreiben dann ist das Auto verborgen notwendig das Auto verborgenund nicht mehr so allgemeinverfügbarwenn man irgendwelche Vorkehrungen trifftso also eine Klassenamens Karl??in den Schweifklammerstetswas die Elemente sindwas sind die Elemente ich muss mir einmal merken was die Zahl der Runden istda zu überlegen was für Typ das ist der Typ diese Attributs ins ich möchte ?? gebrauchen seitige anzahlen haben?? und seine Sachen gibt's ja die Widersprücheerst mal sondern nur alsGleitkomma Zahn am einfachsten doubledanndas sei dass sie sich nicht wirklichen Zahl der wunderlichen des persischenpersischenund merke mirper Kommentar dahinter Zahl der Rundenmit sich gar zu schlimm wirdund ich möchte die Geschwindigkeitwissendie auf Englisch Speed heißen würde nicht will Ossi TV lasse diese Geschwindigkeitsvektornicht ganzso weit das ??und dann will ichein constructionhaben ?? heißt wie die Klassesollnichts an weitere Informationennehmenin Schweifklammer und steht was er tut wieder ganz normale Funktionen zehnhat aber kein Rückgabetypweist klar Wasser macht er baut eine neue Instanz zusammenund es sollte öffentlich seindamit aus dem etwas damit anfangen kann?? die beiden ?? oben sind in C Sharp standardmäßigsowieso ohne dass es hin schreibe auf unser Laufband gestellt wordensound nun wollte ichPosition und Geschwindigkeit auf Zufallswertegestellt habendeshalb ein Zufallsgeneratorwieder Zufallszahlengeneratorsollte Teil der Klasse K sein Bett in der Klasse K versteckt ist wieder jetzt funktioniertkannich Bau quasi Würfel einNetz haben sie größtenteilsdieses geschriebenenWändeZufallszahlengeneratoreingebaut in diese KlasseKomma gerne schreibe heißen ?? klein geschriebenPunktwir können ja sofort initialisierenwir bebauen sofort einen neuen Zufallszahlengeneratorbegann diese Variante sofort mit ihrdann sofort eine neue Zufallszahlgeneratorkönnte man so machenjetzt hat jedes Autoin Würfel eingebautdas vielleicht nicht nötig istes jedes Auto ?? verwirklichtwas wären alternativeanParty vorschlagenwir nehmen den in den Konstruktor reinaber dann wird ja bei jedem Aufrufvon den ganz Traktor ein neuer Zufallszahlengeneratorgebaut und wieder vergessenhier merkte sichinsoweit seinen Generator innerhalbdes groß Traktors und danach vergisst er ihn wiederdas heißt ich würde trotzdem für jedes Autozufallszahlengeneratorbauenimmer noch ?? für den sofort wieder vergessennachdem ich das Auto gebaut habe das wäre noch nicht was mir vorschwebt ?? mir schwebt vor dass dieFabrik so zu sagendass die Fabrik sich den Würfelmerkt ein einziges Lied in der Fabrik einen einzigen Würfel so das es die beste Analogiein der Autofabrik gibt es ein Eisenwürfel wickeln sie das instaticnoch eine der neuen Begriffean all die muss man sich gewöhnenkeine frageste dichanstetig hateine etwas andere Bedeutung als in zehn Seewasser schon fürchterlichin C hat ständig ja schon zwei BedeutungenanEcken des quasi die dritte dazu zu verwirrend zurücktätig heißt es ist Teil der Klassewas sie hier als Ästhetikdeklarierengibt es nur ein einziges Mal das ist so als ob jetztdieAutofabrikein Würfel hat aber nicht jedes Auto ein Würfel hat das wäre Unterschied wenn sie das tätig wegnehmenals jedes Autoeinwürfenwollen sie das staticreinschreibenhatte KlasseEinwürfedamitBericht dieses Bild was ich darauf gemalt habe so bisschender Bauplankann tatsächlich auch hier schon angehängtstatische Elemente haben der kann auch tatsächlich schon was passierenstatische ElementesowohlAttribute wie auch Methodenkönnen hier angehängt sein an den Bauplan insofern ist dieses Bild nicht hundert Prozent richtigund hier wäre die Analogiees gibt einen Würfelin derAutofabrikund der reicht mir ja der eine würfelt muss sich jedes Auto den Würfel habenund dann benutze jetzt diesen Würfelum zum Beispiel die Position zu erzeugenwende??Text double erzeugten Zufallszahl zwischen null und eins eine GleitkommaZufallszahlzwischen hundert eins also null Komma zwo drei vier fünf sechsvielleicht irgendwann maleine Gleitkomma Zahl zwischen null und eins okay so stehen alle in der ersten Rundezwischen Anfang und Endedasselbe mache ich mit derGeschwindigkeitaber ich hätte gerne häufig plausible Geschwindigkeitimmer mal mal zehnzehn Uhr und pro Minutezu wasdas soll ich weiter oben noch hinschreiben GeschwindigkeitinKunden pro Minuteist die Programmiersprachendie letzten ?? mit Einheiten rechnen könnenman könnte ihn sich Sharp sowas bauen dass er das tut aber standardmäßig?? ständig in Einheitennicht ganz ungefährlich istKomma ist das ist das was sie aus dickenKapseln im Service soll dahinter oder hängt einen variablen Anfangprominenteso sieht das bisher auswenn ?? das ?? aufgerufen wirdwird die Positionauf ein Zufallswert zwischen null und eins gesetzt und die Geschwindigkeit auf Zufallswert zwischen null und zehn Gesetzin?? ist ein verwirrender es mehrere Möglichkeiten gibt man zu ?? und an ja wieder sofort gesagtder Zufallszahlengeneratorden sofort initialisierenein Superzahngeneratorbauenden Wendung und hier sofortwieder Variablenspeichernwelcherdas istan das mit der Position der Geschwindigkeit hätte ich hier oben reinschreibenich hätte den auch hier oben reinschreiben könnenes wird dann allmählich unübersichtlich?? muss man eine Linie finden wie kompliziert dürfen die Sachen sein die sich direkt an die Attribute dran schreiben zur Initialisierung?? das fände ich allmählich schon unübersichtlichund wirdlieberin der Kasse hat doch eine Bedeutung istim Endeffekt dieselbehatte davon nicht irritieren lassen mehrere Wegenach Rom fürsosind das es noch ein eher dummes Autoich seine Position ist man sich seine Geschwindigkeitund die Werbung und Verkauf ähnliche Zufallswerte gesetztdannbauen wir doch mal einfach die Animation ?? drumherumdaskennen wir inzwischen wie das funktionierter nicht auch eine Zeichenflächealso mach ich hier diestandardmäßigeEinstellung mit mach ich zu Händlerseinen Namen habenKenntnisschönwird funktionierensoViersenendlich auch auf Kenntnishatte hier fängt Leerzeichen sich an der wird sie aufjedenjetzthätte ich gernefolgendesso ein Auto soll in der Lage sein sich zu malenund das ruf ich danach aus einer Funktion auf die regelmäßigläuftund die neue Position der AutosangibtamKomma das war gerade geschickt vielleicht erst war diese Funktion die regelmäßigläuftsie schon mal gesehen haben jaansehnlicherPraktikum vordieses Jahr wiederich hätte gern ein ein Teilnehmerder mir regelmäßigeine Funktion aufruftdesWindowsTrading Dispatcher time heißt die übliche Timernur Bauer einen neuen Timerals Traktoraufrufhäufig genug erzähltandas hier ist der Typ der Name der Klasse findet die Klasse im Warenhausdas ist in der Systemabteilungdie Windows Unterteilung und so weiter dafür nicht die Klasse in meinem Krankenhausden ähm Rest der Klassegefahren das ist ein längst bestes Wetter Time ist der Name der Klassealles zusammen macht den Typ ausTimer soll das Ding heißen die Variable in der ich mir danneine Referenzauf den neun Timer merke und hier das ist der abstrakte Aufrufbauerdiesen neunter ?? runde Klammer aufein Funktionsaufrufden stellen wir einpermanenteZeitspannewird dasIntervall werdenseit GeberintervallTimes in FormSequenzen in Kürze nicht Aspen Punkt doch ?? hat mindestens von mir aus?? SequenzamdieseMethode hier formelle Sequenzen baue mir eine Zeitspanneaus Millisekundendass daran eigentlich Besonderesan dieser Methodebaue mir eine Zeitspanne aus Millisekundenwenn sie das hier so sehennormalerweise rufenden Methode von einer Instanz auf sie sagen einem dieser Autosfahresie sagen nicht der Klasse fahre das ergibt normalerweise keinen Sinn der die Blaupause für nicht fern Komma dass alle Autobahn fahrennormalerweiserufen sie Methodenauf Instanzenaufaber hier wird Methode aufgerufenvom Typ Abstract in dem Fall keine Klasse ?? abstrakt aber ich hänge direktdie mit den Methodenaufrufan den Typ dran ich sage nicht von dieser Instanzsondern vom Typdas ist eine statische Methodedieses Ding ist Teil des Typsich kann den Typ Zeitspanne sagen erzeuge eine neue Zeitspanne aus Millisekundesozusagen Anfrage an die Fabrikliebe Fabrik ?? Male Zeitspannehundert Millisekundenich frage nicht einzelne Zeitspanne die gibt's ja noch gar nichtZeitspanne raus ich frage ?? bestimmte Zeitspanne was zu tun gebe ich dem Timer sage ich möchte das Intervall einstellen diesem einen Timer den ich hier gebaut habehier frage ich die Fabrik sozusagen den Typ?? meine Zeitspannehundert Millisekundendas ist die statische Methodewieder vorkommtist doch Gewöhnungssache?? ich die Besucher dann müssen die Dame starten man könnte auch ist ein Ebert auf Tour setzenwaren und ich muss dem Timer noch sagenwas er denn überhaupt tun solldazu bauliche nochheute ein erster Hinternfunktioneinzeln regelmäßig laufen sollsie gibt nichts zurück ich nenne sie mal wieder eine Imageund in seelischer Tradition gerichteten jetzt eben ein Objektwer hat uns aufgerufenund eine Pentax?? Eventparkswas sind nähere Informationen zum Aufruf beidesbrauchen wir hier nichtdass wir die Funktion regelmäßig laufen soll und das seit dem Timer auch noch bitte diese Funktiondick ist das bitte diese Funktionregelmäßigaufso das esKinkerlitzchenallesan jetzt zurück zu unserer Autoklassejetzt möchte ich das Auto später bewegt werdensoweit sind wir noch nicht ?? aber erst mal überhaupt gezeichnetwerden regelmäßig sollen sie auch gezeichnet werden bewegt werden und dann gezeichnet werdendas möchte ich in dieser Animation Funktion habensoll alle Autos durchgehenunterzeichnenmüssen sie jetztmüssen die Hirnschmalz rein stecken alle Autos durchgehen okay alle Autos bittenKomma dassalle Autos durchgehen und zeichnenwirklich an Autos herund zweitensirgendeiner Zeichenfunktionwie müsste so eine Zeichenfunktionausdem ?? muss jetzt ein Schritt näher müssendenken Sie mal drüber nach wie würde das wirklich brauche Autos und dann möchte ich hier alle Autos durchgehenzeichnenalle Autos durchgehen verlangt nach mehr for-Schleifehabenhübsche wäre hier sogar ?? for-each-Schleifeaber ich will deutlich übertreiben wir das aber der for-Schleifeeine for-Schleife?? okayund jetzt ein Auto nach dem anderendann will ich dem Auto sagen zeichnete?? irgendwieAutos und zu vielSesam öffne dich sondern Auto zeichnen dichdas mit dem Auto sozusagenmitgebendann??ich muss jetzt irgendwie die Autos durchgehen und ?? fällt einen auf Augen ja irgendwiegibt es zwar die Blaupausefür Autos ob es noch keine Autos blöderweiseirgendwie muss ich mir die Autos merkenwas muss ich also vorher tun damit das überhaupt hier fusionierenkann mit der for-Schleifewiefangen Sie das angenau wir brauchen erst mal eine ?? für Autosdie manbautdanndas könnte manan verschiedenenStellen machen man könnte tatsächlich in die Autoklasseeinbauen dass die Fabrik so zu sagen weißwas sie gebaut hat als statisch variabel wäre eine Möglichkeitfände ich eher ungewöhnlichgefühltmüssen sie retour nachdenken aber sehen wir ungewöhnlich aus ich würde stattdessenin unserer Hauptfenster Klasseein RE einbauen das Auto speichertdass es also erst zu tun bevor sie Anzeichen gehen ??Ray was Autos speichernkönnen Sie diese Reihe mit neuen Autosspäter stellt man festRE ist in Zeiten von sicher keine gute Idee mehr es gibt schönere Sachen als eine Listetatsächlich mal eine Rallye von Autos füllen Sie das mit neun Autossollten sie gar nicht anfangen ??der erste Schritt wird seinGenre anzulegen und zu füllendas machen Sie mal in dieser Klasseein neues EssaysvonAutosnicht von Ellipsennicht von ganzen Zahlenäußere von Auto zu seinKaneues ?? von Autosauch Einnahmenseines Karstund es muss gebaut werdenein neuesReh bauenwenn sie das Schreiben mit runden Klammern unser neues Auto das wäre falschbekömmlich neues Auto bauen und dann sagen das ist das Problemvon Auto saßen zwei paar Schuhesie müssen einReber eckige Klammer mit eckigen Klammern baut man das Ray aus dem jeweiligen Typein sehr feiner aber grundlegender Unterschiedrunde Klammer zu Sie hier runde Klammer zurufen den Faktor für ein Sundding aufbauen eine Instanzdiverser Brändeeine solche Instanz bauenwenn sie nur miteckigen Klammern schreiben sagen sie baue ein FA für diese Dingerist inJava und C plus plusgenausolokaleKomma was weiß ich sagen wirzwanzig sohabe ich ein leeres Rayda kann ich zwanzigReferenzen auf Autos und speichernes gibt diese Autos aber noch nichtes gibt zwanzig Plätze an den ich mir merken kannnur Autos sindim Speicheraber diese Autos sind noch nicht gebautes kommende for-Schleifeversteifensich frei schwebend reinschreiben die müssen ?? in der Methode stehen im Zweifelsfall jetzt im Kunsttraktorerfolgt vor dem timerkramlogischerdannim ?? Traktorbaue ich jetzt so viele Autos eine for-Schleifedie Schreiben sind sie sinnvollerweisenicht zwanzig rein sondernschon mit Geschichtensind vorsichtig aus Punkt längst schreiben sie der reinen funktioniert auchUnterricht davon was sie was oben rum spielendannund jetzt möchte ichAutomatorerzeugen jedes der zwanzig Autos erzeugt das einzige ?? nochmals erweitert möchte ich einmal sehenokayalsoKarlsder Name des Gerätsdavon die Idestelleund nun Bau ein neues Auto und schreibeeine Referenz davon in das Gerät soaus etwas Gewöhnung Komma glaubeirgendwann hat sich dann wirklich gefülltbaue ein neues Autogibt die Referenz darauf zurück wo steht das Ding welches Objekt ist das diese Referenz wird hier gespeichertin dem Recht Beistrich das noch mal auf Malenunsere Klasse ist ja einReferenztypjede Klasse sind sicher ein Referenztypich habe dieses Gerät namensirgendwo steht man Raydas heißt Karlsund in dem Racing nicht wirklich Autos gespeichert sondernverweiseauf Autos also irgendwo steht hier ein Autound da ist ein Verweis und hier steht noch ein Auto und da ist ein Verweis auf das Auto kann unter das Autound irgendwo steht noch ein aus dem Speicher das ein Verweis gespeichert in dem Gerät sind Verweise gespeichert nicht echtAutoses kann zum Beispiel passieren bei uns jetzt nicht was geschrieben aber es kann zum Beispiel passierendass mehrere Einträgein dem ?? auf dasselbe Auto verweisen vielleicht sogar alle auf dasselbe Auto verweisenBeistrichwar das quasi nur Hausnummern sindRestedieser Eintrag sagt Haus Nummer zweiundvierzigder nächste Eintrag sagt auch Hausnummer zweiundvierzigAdresse zwoundvierzig das kann passieren mehrere Einträge verweisen auf dasselbe Autodas Herz lustige Effektewissen sollten sich bewusst sein weil es sonst irritierend ist Komma dass die wagtaber programmierenKomma dass ich berücksichtigt dass das passieren kannalso das Gerät speichert nur Verweiseweil sie um Klassen gehtdas alles nur Verweiselediglich ein neues Auto an Kriege den Verweis zurückReferenzzurückReferenz wird in der Regel speichert sowirksame Autos und können auf wo sie mal anfangen siedarzustellenich gehe jetzt also diese regelmäßig aufrufen Funktion alle Autos durchPunkt längstwasund möchte jetzt jedem Auto sagen es soll sich zeichnenüblicherTrick ist das man dann folgendes veranstaltetich nehmedas Auto mit der Nummer Idas ist das Auto mit der Nummer Iund dem möchte ich jetzt sagen zeichnen dicham Ende kann ich aberimmer nochdas Auto muss wissen wo sich zeichnen soll deshalb sage ich ihmwas die Zeichenflächeistsowas hätte ich schon gernehätte aber gerne eine Methodeim Auto jedes Auto soll eine Methode haben Armstrongsoll ich groß schreiben eine öffentliche Methode Microsoft hat ?? immer gerne großdann eine öffentliche Methode sollte das Auto haben der ich eine Zeichenfläche geben kanndann hängt sich das Autozeichnerischan sie Zeichenfläche drandas wäre eine nicht ganz unübliche Lösung wie man das macht ?? Leerzeichen Funktion Punkt wo sollte dich zeichnen da soll's nicht seinundin jedem Durchgang würden sich die Autos neu als Ellipsen drauf malen deshalb sage ich zu Beginn nochbitte einmal abräumen ganz zu Beginnschildert Klierdass wir nicht alles doppelt und dreifachalso einmal die Zeichenfläche leerräumenschildern sind dieKindelementeinsbesondere als was gezeichnet werden soll auf der Zeichenflächeeinmal die Zeichenfläche leerräumen und dann alle Autos durchgehend jedes Auto soll sich zeichnennetterweisesehen wir hierwillst du so viel Ärzte können hier auf densie können hier kleine blaue Kästchen wenn sie etwas ziehenund sagenmit uns darf generierendeinerät er was er denn da bräuchtekeineanderen nichtigen wahrscheinlich auch ich hätte gerne eine öffentlicheMethode die heißt Rasie nimmt eine Kenntnisund bringt das Auto irgendwie auf die Kenntnis versuchte damals vernünftigestun jetzt kommt das was einige Ford mit Ellipsen und so weitererzeugen Sie eine Ellipse platzieren Sie eine Ellipseauf der Zeichenfläche für das Autodas ist der Job dieser Methodeunglaublichwas zu der ??benahm um hier sagendas Windows Tool automatisch erzeugt er die Erkenntnis Marktkenntnisamkann ich das hierumbenennenaufKenntnis klein geschriebenoder muss das weiterhin Marktkenntnis heißen dieses Ding hiergenau man kann es zusehends lustiger weiß auch man darf es umbenennen hier können Sie also auch irgendwas reinschreibenkein Probleman dieser Name ist Schall und Rauchdieser Name ist wichtig das ist der Name den ich hier in der Sammeldateiim grafischen Grade vergeben habeda habe ich gesagt die Campbells heißt MarkenpessimistKenntnisder Aztekenin das Entdeckkönnen nicht mit Genuss anfangenwird aufhörennoch kürzer wäre hinten ein weit Schrägstrich zu machen und wegzulassendenErfinder mit Genuss Anfang mit Genuss auf wenn ich sage das Ding als Marken müssennicht das System eine Variable an die heißt Mike Endresan dieser Stelle muss ich sagen okay ich meinediese Variable Namensmarkenwirdin derMethode hierdeutlich an der Stelle aber was auch immer ankommtin den runden Klammernist nun in eine Variable die heißt kennen was im folgenden verwendeten Namen kennen bistwenn ich hier irgend einen anderenverwendete müssen dann auch hierdenselben schrägen Namen verwendendas hier muss nicht mal kennen was heißendass er einfach wechselst du dir eben ?? automatisch Marken ist benanntVorbemerkungandas Auto soll eine Lips erzeugen das hab ich gesehenich bin vorliegend aber nur dieLokale Variablen dürfen auch gerne kurz heißenwichtigereine Variable istdie Größe des Kopfes schon so schön sagt Zivil bei der sie sichtbar ist desto länger kann ihr Name sein aber hier diese Ellipse ist ja von der Hand in den Mund die davon ?? Kurzreisendie Stimme ein wie üblichKomma sie hat eine breiteHöheund sie hat eineFüllungberuhigenderund diese Ellipse sollder Zeichenfläche hinzugefügtwerden soweit so gutist dann sicherlich mathematischspannende Teil ist dann die Mathematikkennen wirst schildern die Kindelementezu den hinzufügenes ist also eine Methodedas anderen Kindelementendie Zeichenflächeeines anderen Kindelementenund von der Sammlung an Kindelementenrufe ich diese Methode aufdem ich die Digicam?? das Ellipse Caféhinzufügt soarm und es muss ?? die Position eingestellt werden das ist etwas ekligerund absurder Weise dem Typ Kansasstatische Methode dem Typ können wir sage ichsetsetLeftmit irgendwas raffiniertemund setzneunzehn hundert das übliche set topmit irgendwas raffiniertanSinusund Kosinuskönnen nie schadenso ein Kreis ich sage oben ist mein Staat Punktso möchte ich weiter rechnen dass hier will ich haben als Positionvon null bis einsist also der Winkel hat also mit der Position zu tun ?? Winkel hiervon einem Staatder Position zu tun so und jetzt will ichdie X Koordinatewissenund ich willYKoordinatewissengutartigeOma bei den Sinusin der Winkel null es ist der Sinus null so merke ich mir das Tier Komma was mit dem Kosinusund danach kann man recht schnell hinschreiben ??die Winkel muss man noch ausrechnen??ich habe die Position gegeben als Zahl von null bis einsbekommen Sie von der Position auf den WinkelPositiongleich eins eine Runde nämlich dreiundsechzig Grad haben undsie Sharp rechnet wie die meisten üblichen Sprachen nicht in Graz sondern in Radiantalso zwei Pi zwei Pi mal die positionsteWinkelder Sonne als beisammen haben Komma malals erste Schritte sicherte den Winkel aus Doppelwinkelist gleich zweimalPi ist netterweise eingebaut??schon gezeigt es gibt diese Klasse Namensmessein derdie handelsüblichen mathematischen Funktionen sind aber nicht nur dasssie nicht nur die handelsüblichen Magmafunktionendrin sondern auch zum Beispiel E unddabeiund Pi ist dabei so hatte die Zahl Pivorgefertigtund das jetzt bei komm eins wie oder was eingeben müssenmal die Zahl der Runden ist einfach putzigwieso kann ich einzig Position einfach so schreibenPatente muss sie schreiben wenn demnächst doublevon diesem Ding ruf mir nächste Appell aufoderKomma noch was von der Sortevon den Autos gibt mir die Längeinwarumkann ich hier einfach persischen Schreibenist also noch unwichtiger Punkt offensichtlichanPosition ist Teil der Klasse in der ich gerade arbeite da es politischenmarkierte und sehr netter weiß auch nicht alles wo's vorkommtin dieser Klasse in der ich keine Arbeit ist zwischen einer ?? Punktder vorschreibennetterweise ich könnte was davor schreiben was schon mitgekriegt haben ich könnte was davor schreiben sowieso Punktbisaus dem aktuellen Ding nehme Position als wenn sie was Wiki vorschreiben wollen würden können Sie das tun dies aber wozu es ganz nötig istes ?? das Depot anzusprechensohätten wir weiter von der linken Seite möchte ich soundso viel weitergehenum was es auf Plazet Left erster welches Element das ist jetzt die Ellipsepassiert doch genausound nun kommt die Koordinatenangabevom linken Rand möchte ichsoundsovielweitergehenderbis zum Zentrumdes Kreiseslagen wir sagen ?? sagen wir vermehrt drei hundertbis zum Zentrum des Kreisesund dann kommtSinus mal den Radiusund das Radiusvielleicht hundert fünfzig keine ?? das gleich aussiehtund hinzukommen von Ex Koordinatendrei hundert und hundert fünfzig Mark ??Sinusich ?? bisschen dingliche schreib ich drei hundert ?? für eine ganze Zahl drei hundert Komma nulloffensichtlich eine double-Zahlplus hundert fünfzigmaljetzt aus dieser Mathematik lasse die FunktionSinus von unserem Winkelso sieht die ausander Kosinusdie untennatürlichbis mit den Vorzeichen aufpassen Punkt leichter Patriot mit offensichtlich irgendwas mit Kosinus auftauchenPunkt und ich wieder zu viel Semikolonso ???? mit Vorzeichen Punkt ich messe von obenMessevon obendreihundertjetzt muss ich den Kosinusabziehen der Gitter wieder raufKomma von oben drei hundert dann wieder raufgehen?? Hosen zweiundfünfzigab zehnminusichsollte vielleichtmalzum Test ob das jetzt wirklichvon oben gehtmandie Position nicht ganz so groß machen ?? ich mache hier Positionnull Komma eins mal dasdann müsste ich jetzt jaalle Autos relativnah beim Anfang sehenin diese Ecke hieroben in einer Ecke auftauchen weiß ich wo ist was schief gegangen als Damm ist gleich Erlaubnis auftauchen?? Doktormal sehenum das ?? großer Kreis der Ecke ist die richtige ?? der krassesten Missionar groß gewordenamdas mit dem plusdrei hundert ist ein bisschen gewagtdiesen hierwieder wegnehmen der Dienste in diedie obere Ecke geknallt hat das ?? soweit zu funktionieren aber die drei hundert jeweils sehr großzügigimmer hundert sechzigdas bedeutet dass sich der Kante auf zehn Pixel nahe Komma das müsse noch insona tolljetzt seine zwanzig Autos die alle stehenKommadie wenn sie jetzt noch in Bewegungdas ?? noch in in den letzten zehn Minutendieser Animationsfunktionsoll die Autos nicht nur Zeichnensondern sie sollte auchin Bewegung setzenkriegen sie das inwas schreibe ich jetzt hervordamit das auch ??fährtmir also von der denke Herr ganz analog lege ich alle Autos durch und sage jedem Auto zeichneteichjetzt gehe ichobendreinalle Autos durch und sagen jedem Autorichtig vorwärtsantwortetedass das alles gesehen mag und dass dieselbe for-Schleife reinschreibenich finde das ehergewöhnungsbedürftigfinde sauberernehmen erst alle Autosverrutschtund dann zeichnetam?? sei sie braucht eine neue Methodedenen ich einfach mal?? und MuffanPunktwie könnte man es einfach so aufrufensagen jedem Auto bewegt sichwie'sdeine Geschwindigkeitentsprichtich würde jetzt hieraus physikalischenGründen aber sagenwie viel Zeit vergangen sich keiner ganz dreist den Timer Fragenwas sein Intervall istich würde dieser Methode noch mitteilenwieviel Zeit vergangen istdas wäre jetzt die Anweisung an das Auto Nummer ihm so viel Zeit ist vergangendiese hundert Millisekundenbewege dich entsprechendwie weitdiese jetzt in hundert Millisekundenbin ich ganz dreistsagen generiere somit Ostapsisihr vorne schon alles erledigtwarihr Sinn wird in der Autoklasse?? vergessen mal wieder nicht raussodie Autoklasse Pflicht zur Zeitspannegewissenlosen hundert Millisekundenaberman könnte ja sich überlegen okay wir machen das mal ganz nett undmanchmal ganz nett und stelle sich auf hundert Millisekunden sondern auf zehn Millisekundendas es richtig flüssig läuftsiebzehn Millisekunde Beistrich am besten mit ?? andieser Stelle das Ion und dannnatürlich Animation nicht mehr deshalb nehme ich hier tatsächlich die eingestellte Zeitdas soll es das Autoentsprechenddieser eingestellten Zeit weiter bewegenschreiben dass man inhabensich das aber noch mal ?? ?? des großen Sinus nichteiligentlangvon dem Chrysler Messe meine Position entlang von im Kreis gemessener ganze Kursen Sinus vergessen ich rechne in rundendie Geschwindigkeitist in rund pro Minute angegebendie Position ist in Runden angegebenkein Ärger mehr mit Sinus und großsodie Zutaten sind also die bestehende Positionim ?? sicher nicht sowieso Punkt hinschreiben könnte bis ?? Punkt hinschreiben aber ich bin der in der Klasse in der Positionselementistdie Position habe ich ich habe die Geschwindigkeites auch eingebautin diese Klassejede Instanzhat eine Position eine Geschwindigkeitdiese Zeitspannesollte vielleicht einmal um rechnen?? dannguckendes Ministern double-Zahlmindestens eine ganze Zahl das ist keine gute Ideedannich gehe dann mal aufauf Sequenz?? ob sieTotenministersist es das meint der doublePullman ist das jetzt wirklich nur Gleitkomma zahltdie Zeitspannein Minuten angegebendie GeschwindigkeitFeinrunden pro Minutedie Position ist in Rundenwenn sie das einfach nur so zusammen schreiben dass die Einheiten stimmenkann es schon nicht mehr falsch ein ??Musik müsse Einschränkung damals weit ?? Ringspositionin rundenGeschwindigkeitsrundenpro Minutemal Minute wird auch wieder rundendie neuePositiondes Assetan das für dich etwas kürzer schreiben?? ihr schreibt natürlich plus gleich das sieht professioneller ausals die Position erhöht sich um GeschwindigkeitmalZeitdauerbisschen auf die Einheiten geachtet?? oderunglaublichund Leistung muss an wie man die tatsächlich auch zum Stopp rechts lassen Stau entsteht jetzt überholte sicher gnadenlosund da kann man sich die Daten angucken wieder rauskommen