Programação  
 
Conhecimento computador >> Programação >> Programação em Java >> 
Como construir seu próprio sistema solar em Java
Modelagem de um sistema solar em Java , além de ser divertido , é um bom exercício para ilustrar e praticar o pensamento em termos de alguns conceitos básicos em Design Orientado a Objeto ( OOD) , especialmente herança e polimorfismo . Você pode aprender conceitos OOD com um modelo de sistema solar build- your-own simples. Coisas que você precisa
computador
Desenvolvimento Java Software Development Kit (SDK)
editor de texto ou Java Ambiente de Desenvolvimento Integrado (IDE)
Mostrar Mais instruções
1 < br > 2

Criar GravityObject classe abstrata . Você vai querer criar o seu GravityObject como uma classe abstrata. Declarando uma classe para ser resumo em Java indica ao compilador que queremos esta classe para servir como um modelo para ser usado por outras classes , mas a classe não devem ser criados em si . Isso faz sentido para o exemplo de sistema solar : não existe tal coisa como um " GravityObject " , no entanto, existem coisas como planetas e estrelas , que são objetos que têm e são afetados pela gravidade. Você só escrever a programação para ele uma vez. Em Design Orientado a Objeto , esta característica é chamado herança

Digite isso no seu arquivo GravityObject :

public class abstrato GravityObject {double xPosition ; dupla yPosition ; dupla degreeInOrbit ; dupla distanceFromParent ;
.

GravityObject () { this.distance = 0; }

GravityObject (double distância ) { this.distance = distância ;}}

Este é um exemplo simples , assim você vai use apenas as posições X e y do objeto , juntamente com a distância de seu pai e uma variável de grau . Você pode mais tarde criar uma outra classe abstrata, ou 3DGravityObject RelativisticGravityObject , e tê-lo herdar este objeto. Isso permitirá que você adicione os detalhes para as coisas que mudam.
3

Criar a classe abstrata OrbitalSystem . Essa classe também irá ser abstrato , mas será mais sofisticado do que a classe GravityObject

java.util.ArrayList importação; .

Public abstract class OrbitalSystem estende GravityObject { ArrayList crianças privadas = new ArrayList ( ) //objetos dentro do sistema. Eles orbitam o pai

add public void ( GravityObject criança ) { children.add (criança) ;} .

Carrapato public void () {for (int x = 0; x < children.size ( ) ; x + + ) { corrente GravityObject = children.get ( x ) ; current.degree + = 1current.xPosition = this.xPosition + matemática.Cos ( degree/180 Math.PI * ) * current.distance ; actual . yPosition = this.yPosition - Math.sin ( degree/180 * Math.PI ) * current.distance ;} (ver referências 2)

}}

a classe estende a classe GravityObject . O ArrayList contém todos GravityObjects , e declarou sua variável privada de modo que você pode forçar outras classes para usar a função add , garantindo que apenas GravityObjects pode ser adicionado à matriz . Isso ilustra dois outros conceitos importantes OOD além de herança. A primeira é a ocultação de dados : por meio de selagem -lo , você garantiu que outras partes do programa não pode acessá-lo e colocar informações inválidas para ele. O segundo é o polimorfismo, o que nos permite fazer referência a um objeto usando não só os seus próprios nomes , mas os nomes de qualquer um de seus ancestrais . Isto permite uma grande flexibilidade na escrita de código .
4

Escrever aulas planeta e da estrela. Como a maior parte do trabalho já foi feito nas aulas OrbitalSystem e GravityObject abstratas, as classes do planeta e da estrela será simples

public class Estrela estende OrbitalSystem {}; .

E

public class Planeta estende GravityObject {};
5

Escrever classe principal. Sua principal função deve ter a seguinte aparência :

public static int main ( String [] args ) { s = new Estrela Estrela () //Cria um novo star.s.add ( novo Planeta (20) ) //Adicionar um planeta do sistema orbital da estrela que orbita a uma distância de 20 units.s.add ( novo planeta (66) ) //Adicionar um outro planeta para o sistema orbital da estrela que orbita a uma distância de 66 unidades .

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

}

Isto irá criar uma estrela e dois planetas em órbita, e vai colocá-las em movimento

Anterior :

Próximo : No
  Os artigos relacionados
·Como faço para imprimir um símbolo Unicode em Java 
·Ferramentas gráficas para Java 
·Como extrair um APK para um Android 
·Como alterar o cursor de imagem em Java 
·Como usar códigos de barras em Java 
·Como fazer o download do Eclipse para Android 
·Como posso fazer uma lista Hibernate Não Ter Null Elem…
·Não há principais classes encontradas no NetBeans 
·Como remover vários objetos em Java 
·Como executar o PKZIP De Java 
  Artigos em destaque
·Propriedades de algoritmos 
·Como usar COBOL Sintaxe 
·Como remover Atualizações de Software 
·Como detectar CJK em Java 
·Como fazer uma lista suspensa Log-In 
·Tutorial Java para ligação de um Applet a um Frame 
·Três categorias de Linguagens de Programação 
·Como desenvolver aplicações Java para um Blackberry 
·Como alterar Coordenadas para Angles em Java 
·Qual é a diferença entre JRE e Java SE 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados