Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Java Programming >> Content

    Hur att bygga din egen Solar System i Java

    Modellering ett solsystem i Java , förutom att vara roligt , är en bra övning för att illustrera och öva tänka i termer av vissa grundläggande begrepp inom objektorienterad design ( OOD ) , särskilt arv och polymorfism . Du kan lära dig OOD koncept med en enkel bygg - ditt - eget solsystem modell . Saker du behöver
    Computer Review, Java Software Development Kit ( SDK ) katalog textredigerare eller Java Integrated Development Environment ( IDE )
    Visa fler instruktioner
    1
    2

    Skapa GravityObject abstrakt klass . Du vill skapa din GravityObject som en abstrakt klass . Deklarera en klass för att vara abstrakt i Java anger för kompilatorn att vi vill ha den här klassen för att tjäna som en modell som ska användas av andra klasser , men klassen bör inte skapas själv . Detta är logiskt för solsystemet exempel : det finns inget sådant som en " GravityObject " , men det finns saker som planeter och stjärnor , som är föremål som har och påverkas av gravitation . Du skriver bara programmeringen för det en gång . I objektorienterad design , är detta drag kallas Arv

    Skriv detta i din GravityObject fil :

    offentliga abstrakt klass GravityObject { double xPosition , dubbel yPosition , dubbel degreeInOrbit , dubbel distanceFromParent ;
    .

    GravityObject ( ) { this.distance = 0 ; }

    GravityObject ( dubbel avstånd ) { this.distance = avstånd ; } }

    Detta är ett enkelt exempel , så att du bara använda x -och y- positionerna av objektet , tillsammans med avståndet från sin förälder och en viss variabel . Du kan senare skapa en annan abstrakt klass , 3DGravityObject eller RelativisticGravityObject , och har den ärver från detta objekt . Detta gör att du kan lägga till detaljer för saker som förändras .
    3

    Skapa OrbitalSystem abstrakt klass . Denna klass kommer också att vara abstrakt , men kommer att vara mer sofistikerad än GravityObject klassen

    import java.util.ArrayList , .

    Offentliga abstrakt klass OrbitalSystem utökar GravityObject { private ArrayList barn = new ArrayList ( ) , //​​objekt inom systemet . De kommer att kretsa kring förälder

    public void add ( GravityObject barn ) { children.add ( barn ) ;} .

    Public void tick ( ) {for ( int x = 0 , x < children.size ( ) ; x + + ) { GravityObject ström = children.get ( x ) , current.degree + = 1current.xPosition = this.xPosition + Math.cos ( degree/180 * Math.PI ) * current.distance ; ström . yPosition = this.yPosition - Math.sin ( degree/180 * Math.PI ) * current.distance ;} ( se referenser 2 ) katalog

    } }

    klassen utökar GravityObject klassen . Den ArrayList innehar samtliga GravityObjects , och förklarade sin variabla privat så att du kan tvinga andra klasser att använda funktionen add , säkerställer att endast GravityObjects kan läggas till i arrayen . Detta illustrerar två andra viktiga OOD begrepp förutom arv . Den första är uppgifter gömmer : genom att täta bort , har du sett till att andra delar av programmet inte kan komma åt dem och lägg ogiltig information i den . Den andra är polymorfism , som tillåter oss att referera till ett objekt med hjälp av inte bara sina egna namn , men namnen på någon av sina förfäder . Detta möjliggör en stor flexibilitet i att skriva kod .
    4

    Skriv planet och klasser stjärna . Eftersom det mesta av arbetet har gjorts i abstrakta OrbitalSystem och klasser GravityObject kommer planeten och klasser Star vara enkel

    public class Star utökar OrbitalSystem { }; .

    Och sälja

    public class Planet utökar GravityObject { };
    5

    Skriv huvudklass . Din huvuduppgift bör se ut så här :

    public static int main ( String [] args ) { Star s = ny stjärna ( ) , //Skapa en ny star.s.add ( ny Planet ( 20 ) ) , //Lägg till en planet till stjärnans omloppsbana system som kretsar på ett avstånd av 20 units.s.add ( nytt planet ( 66 ) ) , //Lägg till en annan planet till stjärnans omloppsbana system som kretsar på ett avstånd av 66 enheter .

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

    }

    Detta kommer att skapa en stjärna och två kretsande planeter , och kommer att sätta dem i rörelse < . br > Addera ditt

    Tidigare:

    nästa:
    relaterade artiklar
    ·Java-applet Metoder
    ·Hur man skriver NetBeans till en fil
    ·Användning av Java Generic att Returtyp
    ·Vilka är de två användningsområden för operatorn +…
    ·Konvertera P12 med keytool
    ·Hur man gör ett stapeldiagram i Java
    ·Hur man skapar en meny i Android Programmering
    ·Komma åt SQLite ifrån en Android Shell
    ·Hur kan jag visa en utan decimaler i Java
    ·Hur man skickar SMS med JavaMail
    Utvalda artiklarna
    ·Hur man ansöker Blur Effekter på Skuggor i Flex
    ·Hur man tar bort Anteckningar från Java-kod
    ·Hur man skapar en e-postlista med PHP
    ·Hur Återställ Fästingar i VB6
    ·Hur man skriver ett skript för att fånga email
    ·Hur man kan utveckla mobila applikationer med Microsoft…
    ·Hur Återställ AUTOINCREMENT i MySQL
    ·Hur koden DateDiff i VB.Net
    ·Hur man gör en Ruby program som skriver ett dokument
    ·Hur man gör en objektorienterad Java Game
    Copyright © Dator Kunskap http://www.dator.xyz