Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako sa stavia svoje vlastné solárny systém v Jave

Modelovanie solárny systém v Jave , okrem toho , že zábava je dobré cvičenie pre ilustráciu a praxe myslenia , pokiaľ ide o niektoré základné pojmy v objektovo orientovaného dizajnu ( ood ) , najmä dedičnosť a polymorfizmus . Môžete sa dozvedieť , ood pojmy s jednoduchým modelom slnečnej sústavy build - vaše - vlastné . Veci , ktoré budete potrebovať
Computer
Java Software Development Kit ( SDK )
Textový editor alebo Java integrované vývojové prostredie ( IDE )
Zobraziť ďalšie inštrukcie
1
2

Vytvorte GravityObject abstraktné triedu . Budete chcieť vytvoriť GravityObject ako abstraktné triedy . Deklarácia triedy byť abstrakt v jazyku Java naznačuje kompilátora , že chceme táto trieda bude slúžiť ako model , ktorý bude používaný iných tried , ale nemali by byť vytvorená trieda sama . To dáva zmysel pre príklad slnečnej sústavy : nie je tam žiadna taká vec ako " GravityObject " , ale tam sú veci , ako sú planéty a hviezdy , ktoré sú predmety , ktoré majú , a sú ovplyvnené gravitáciou . Stačí iba napísať programovanie pre neho raz . V objektovo orientovaného dizajnu , táto vlastnosť sa nazýva dedičnosť

Zadajte do vášho GravityObject súboru :

public abstract class GravityObject { double xPosition , double yPosition , double degreeInOrbit , double distanceFromParent ;
.

GravityObject ( ) { this.distance = 0 ; }

GravityObject ( double vzdialenosť ) { this.distance = vzdialenosť ; } }

Toto je jednoduchý príklad , takže budete Používajte iba xay polohy objektu , spolu so vzdialenosťou od jej materskej spoločnosti a štúdiá premenné . Dalo by sa neskôr vytvoriť ďalšie abstraktné triedu , 3DGravityObject alebo RelativisticGravityObject , a mať to dedí z tohto objektu . To vám umožní pridať podrobnosti o veci , ktoré sa menia .
3

Vytvorte OrbitalSystem abstraktné triedu . Táto trieda bude tiež abstraktné , ale bude zložitejšie , než je trieda GravityObject

import java.util.ArrayList ; .

Public abstract class OrbitalSystem rozširuje GravityObject { private ArrayList deti = new ArrayList ( ) ; //Objekty v systéme . Budú obiehať rodičia klipart

public void add ( GravityObject dieťa ) { children.add ( dieťa ) ; } .

Public void tick ( ) { for ( int x = 0 ; x < children.size ( ) ; x + + ) { GravityObject prúd = children.get ( x ) ; current.degree + = 1current.xPosition = this.xPosition + Math.cos ( degree/180 * Math.PI ) * current.distance ; prúd . yPosition = this.yPosition - Math.sin ( degree/180 * Math.PI ) * current.distance ; } ( pozri odkazy 2 )

} }

trieda rozširuje triedu GravityObject . ArrayList obsahuje všetky GravityObjects , a vyhlásila , že je variabilný ako súkromný , takže môžete vynútiť iných tried použiť funkciu add , zabezpečiť , že iba GravityObjects môžu byť pridané do poľa . To ilustruje dve ďalšie dôležité OOD koncepty okrem dedičnosti . Prvý z nich je dát skrýva : utesnením to preč , ste zabezpečené, že ostatné časti programu nemožno získať prístup , a dať neplatné informácie do neho . Druhým je polymorfizmus , čo nám umožňuje odkazovať na objekt pomocou nielen vlastné mená , ale mená niektorý z jeho predkov . To umožňuje veľkú flexibilitu pri písaní kódu .
4

Napíšte planéta a hviezda triedy . Pretože väčšina prác bola vykonaná v abstraktných OrbitalSystem a GravityObject tried , budú kurzy Planet a Star byť jednoduchý

public class hviezda rozširuje OrbitalSystem { } ; .

A

public class Planet rozširuje GravityObject { } ;
5

Napíšte hlavnú triedu . Váš hlavný funkcia by mala vyzerať takto :

public static int main ( String [ ] args ) { spoločnosti Star s = new hviezda ( ) ; //Vytvorenie nového star.s.add ( nový Planet ( 20 ) ) //Pridať planétu na obežnej systému hviezdy , ktorá obieha vo vzdialenosti 20 units.s.add ( nový Planet ( 66 ) ) ; //Pridať ďalšiu planétu na obežnej systému hviezdy , ktorá obieha vo vzdialenosti 66 jednotiek .

while ( true ) { s.tick ( ) ; } .

}

Tým sa vytvorí hviezdu a dve obiehajúce planéty , a nastaví im v pohybe

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené