“Conocimientos Programación>Programación Java

Cómo construir su propio sistema solar en Java

2013/3/31
Modelado de un sistema solar en Java, además de ser divertido , es un buen ejercicio para ilustrar y practicar pensar en términos de algunos conceptos básicos en el diseño orientado a objetos ( OOD ), especialmente de herencia y polimorfismo. Usted puede aprender conceptos OOD con un modelo del sistema solar construir -su-propio simple. Cosas que necesitará de computadora
Java Software Development Kit ( SDK ) editor de Texto Fotos, Java o Entorno de desarrollo integrado ( IDE )
Ver Más instrucciones
1
2

Crear GravityObject clase abstracta . Usted desea crear su GravityObject como una clase abstracta . Declaración de una clase para ser abstracta en Java indica al compilador que queremos esta clase para servir como un modelo para ser utilizado por otras clases , pero la clase no se debe crear en sí . Esto tiene sentido para el ejemplo del sistema solar : no hay tal cosa como un " GravityObject " , sin embargo, hay cosas como los planetas y las estrellas , que son objetos que tienen y son afectados por la gravedad. Sólo escribe la programación de una vez. En Diseño Orientado a Objetos , esta característica se denomina herencia

Tipo esto en su archivo GravityObject :

public abstract class GravityObject {double Xposition ; doble yPosition ; doble degreeInOrbit ; doble distanceFromParent ;
.

GravityObject () { this.distance = 0 ;}

GravityObject ( doble distancia ) { this.distance = distancia ;} }

Este es un ejemplo simple, por lo que sólo utilice las posiciones x e y del objeto , junto con la distancia a partir de su padre y un grado variable . Más tarde, puede crear otra clase abstracta , 3DGravityObject o RelativisticGravityObject , y tienen que heredar de este objeto. Esto le permitirá agregar los detalles de las cosas que cambian .
3

Crear la clase abstracta OrbitalSystem . Esta clase también será abstracto, sino que será más sofisticada que la clase GravityObject

importación java.util.ArrayList ; .

Pública OrbitalSystem clase abstracta se extiende GravityObject { niños privados ArrayList = new ArrayList ( ) ; //objetos dentro del sistema. Ellos orbitar los padres

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

Pública garrapatas void ( ) {for (int x = 0 ; x < children.size ( ) x + + ) { GravityObject actual = children.get ( x); current.degree + = 1current.xPosition = this.xPosition + Math.cos ( degree/180 Math.PI * ) * current.distance ; corriente . yPosition = this.yPosition - Math.sin ( degree/180 Math.PI * ) * current.distance ;} ( ver referencias 2 )

} }

la clase extiende la clase GravityObject . El ArrayList contiene todos GravityObjects , y declaró su variable privada para que pueda obligar a otras clases para utilizar la función de complemento , lo que garantiza que sólo GravityObjects se pueden agregar a la matriz. Esto ilustra otros dos conceptos OOD importantes, además de la herencia. La primera es la ocultación de datos : mediante el sellado de la basura, se ha asegurado de que otras partes del programa no pueden acceder a ella y poner la información no válida en ella. El segundo es el polimorfismo, lo que nos permite referirnos a un objeto utilizando no sólo sus propios nombres , pero los nombres de cualquiera de sus ascendientes . Esto permite una gran flexibilidad en la escritura de código .
4

planeta escritura y clases de estrellas. Dado que la mayor parte del trabajo se ha hecho en el OrbitalSystem abstracta y clases GravityObject , el planeta y las clases de estrellas serán simples

Estrella clase pública se extiende OrbitalSystem {}; .

E imágenes < p > Planet clase pública se extiende GravityObject {};
5

Escribir clase principal . Su función principal debe ser similar al siguiente :

int main ( String [] args ) { public static estrella s = new Star ( ) ; //Crear un nuevo star.s.add ( nuevo planeta ( 20 ) ) //Añadir un planeta en el sistema orbital de la estrella que orbita a una distancia de 20 units.s.add ( nuevo planeta ( 66 ) ) //Agregar otro planeta en el sistema orbital de la estrella que orbita a una distancia de 66 unidades .

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


Esto creará una estrella y dos planetas en órbita , y ponerlos en movimiento < . br>

Programación Java
Cómo filtrar archivos desde el Explorador de proyectos Ver en Eclipse
Cómo dar formato a la anchura de la flota en Java
Oracle ADF Componentes
Cómo codificar un rectángulo en Java Con Dimensiones azar
Cómo escribir etiquetas personalizadas en JSP
Cualidades de un buen desarrollador de Java para sistemas de comercio
Cómo crear una secuencia de comandos de Java para enviar mensajes a un PC remoto
Cómo convertir una fecha al calendario en Java
Conocimientos Informáticos © http://www.ordenador.online