HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
Objetos, classes, e relações de Java |
Aqui você aprenderá como criar e destruir os objetos, como criar a classe e o subclass classes, como escrever os métodos, e mesmo como criar e usar as relações. Este capítulo cobre tudo de como proteger um objeto de outros objetos e métodos cancelando, para criar as classes do molde que usam as classes e os métodos do sumário e o patriarch da hierarquia do objeto de Java--java.lang. Classe do objeto.
|
Ciclo de vida do objeto
|
um objeto é um módulo que tenha o estado e o comportamento. O estado de um objeto é contido dentro das variáveis do membro e o comportamento é executado por seus métodos. Os programas de Java que você escreve criarão muitos objetos diferentes pelo molde, estes moldes são sabidos como classes. Os objetos criaram interativo um com o otro emitindo mensagens. Em conseqüência do messag, o método é invocated que executará alguma ação ou pode também modificar o estado do objeto que está recebendo a mensagem. Por estes a interação dos objetos, seu código de Java pode executar uma relação de usuário gráfica, para funcionar animations, ou pode também emitir e receber a informação sobre a rede. Uma vez que o objeto termina o trabalho que estêve criado para, é destruído e todos os recursos atribuídos a ele recycled para o uso, por alguns outros objetos.
|
Criando as classes
|
Uma classe é um molde que possa ser usado criar muitos objetos. A execução da classe compreende de dois componentes: declaração da classe e corpo da classe.
|
classDeclaration
{
. . .
classBody
. . .
}
|
|
Declaração da classe
|
A declaração da classe, declara o nome de uma classe junto com alguns outros atributos como superclass da classe, e se a classe é final, público, ou sumário. A declaração da classe deve conter o keyword da classe e o nome da classe que você está definindo. Conseqüentemente a declaração mínima da classe olhará como esta:
|
class NameOfClass
{
. . .
}
|
|
Corpo da classe |
O corpo da classe segue a declaração da classe e é encaixado sempre dentro das cintas curly {e} como mostrado no exemplo acima. O corpo da classe contem declarações para as variáveis que são membros da classe, declarações dos métodos e implemenatations da classe. Nós discutiremos agora dois métodos especiais que você pode declarar dentro de um corpo da classe: Os construtores e finalizam () o método.
|
Construtores
|
Estes são algumas das réguas em construtores:
- “confidencial usado” dos construtores () - keyword confidencial, ninguém instantiate da lata a classe como o objeto. Mas pode ainda expo métodos de estática públicos, e estes métodos podem construir o objeto e retorná-lo, mas ninguém mais podem fazer este.
-
os construtores do pacote () - nenhuns deles fora de seu pacote podem construir um exemplo de sua classe. Isto é útil quando você quer ter classes em seu pacote que pode fazer yourClass novos () e não quer deixou qualquer um mais fazer este.
-
o keyword protegido dos construtores () - usou-se “protegido” somente os subclasses de sua classe pode empregar este pacote.
-
o “público usado” dos construtores () - keyword público o construtor genérico usará estes.
|
Declarando as variáveis do membro
|
Um objeto mantem seu estado pelas variáveis definidas dentro dessa classe. Estas variáveis são sabidas como as variáveis do membro. Ao declarar as variáveis do membro para a classe, você pode especificar um anfitrião de “atributos diferentes” sobre aquelas variáveis: seu nome, seu tipo, permissão de acesso atribuiu-lhe, e assim por diante. A declaração variável do membro olha como esta:
|
[accessSpecifier] [static] [final] [transient] [volatile] type variableName
The items in the square brackets are optional. The words inside the bracket are to be
replaced by names. or keywords.
|
|
As palavras especificadas dentro do suporte definem os seguintes aspectos das variáveis:
- mais accessSpecifier define isso que todas classes restantes têm o acesso à variável do tahat
- a estática indica que a variável declarada é variável do membro da classe ao contrário das variáveis do membro do exemplo.
- o final indica que a variável é constante.
- as variáveis transientes não são parte do estado persistente do objeto.
- os meios temporários a variável são modificados asynchronously.
|
Escrevendo um método
|
Em Java nós definimos métodos dentro do corpo de uma classe para que executa o comportamento. Nós declaramos geralmente métodos após suas variáveis no corpo da classe embora não requeridos. Similar à execução da classe, uma execução do método consiste também em duas porções: declaração do método e corpo do método.
|
methodDeclaration
{
. . .
methodBody
. . .
}
|
|
Declaração do método
|
No mínimo, o componente da declaração do método tem um tipo do retorno que indique o tipo de dados de valor retornado pelo método, e o nome do método.
|
returnType methodName()
{
. . .
}
|
|
Cosider por exemplo, o seguinte código declara um método simples nomeado isEmpty () dentro da classe da pilha que retorna o valor booleano (verdadeiro ou falso).
|
class Stack
{
. . .
boolean isEmpty()
{
. . .
}
}
|
|
A declaração do método mostrada no exemplo acima é muito básica. Os métodos têm muitos outros atributos como o controle de acesso, argumentos e assim por diante. Esta seção cobrirá estes tópicos.
|
O corpo do método
|
No corpo que do método toda a ação de um método ocorre, o corpo do método contem todas as instruções legais de Java que executa o método. Por exemplo, está aqui uma classe da pilha com a execução para () o método isEmpty.
|
class Stack
{
static final int STACK_EMPTY = -1;
Object stackelements[];
int topelement = STACK_EMPTY;
. . .
boolean isEmpty()
{
if (topelement == STACK_EMPTY)
return true;
else
return false;
}
}
|
|
Dentro do corpo do método, você pode fazer o uso “isto” consultar o objeto atual.
|
Que é Subclasses, Superclasses, e Inheritance? |
Como outras línguas de programação object-oriented em Java, uma classe pode ser derivada da outra classe. Por exemplo, supô-lo hav uma classe nomeada MouseEvent que representa o evento quando o usuário pressiona a tecla de rato no ambiente de janela do GUI. Mais tarde, quando a aplicação se tornando, você realizar que você necessitar uma classe representar o evento quando imprensa do usuário uma chave no teclado. Você pode escrever a classe de KeyboardEvent do risco, mas desde que MouseEvent e as classes de KeyboardEvent compartilham de alguns estados e comportamentos como que a tecla ou a chave de rato foram pressionadas, o tempo que o evento ocorreu, e assim por diante, nós pode ir para duplicar a classe de MouseEvent melhor que re-inventing a roda, você pode fazer exame de vantagens de subclassing e de inheritance. .and assim que você cría um evento da classe de que MouseEvent e KeyboardEvent podem ser se derivam
|
O evento é agora superclass de classes de MouseEvent e de KeyboardEvent. MouseEvent e KeyboardEvent são chamados agora subclasses do evento da classe. O evento contem todos os estados e comportamento que são comuns aos eventos do rato e aos eventos do teclado. Os Subclasses, MouseEvent e KeyboardEvent, herdam o estado e o comportamento dos superclass. Considerar por exemplo, MouseEvent e KeyboardEvent ambos herda o atributo do selo de tempo do evento super da classe.
|
Como criar um Subclass
|
Você declara que uma classe é subclass de uma outra classe na declaração da classe. Supôr que você quis criar um subclass chamado “ImaginaryNumber” do “da classe número”. (onde a classe do número é uma parte do pacote de java.lang e é classe baixa para flutuadores, inteiros e outros números.). Você pode agora escrever:
|
class ImaginaryNumber extends Number
{
. . .
}
|
|
Esta linha declara ImaginaryNumber como um subclass da classe do número
|
Escrever uma classe final
|
Java permite que nós declarem nossa classe como o final; isto é, a classe declarada como o final não pode ser subclassed. Há duas razões porque uma quer fazer esta: finalidade da segurança e do projeto.
|
- Segurança: Para subvert sistemas, um dos hackers do mecanismo usa-se é, cría subclasses de uma classe e substitui sua classe para o original. O subclass olha mesmos que a classe original mas executará as coisas vastamente diferentes, causando os danos ou começando na informação confidencial possivelmente. Para impedir este subversion, você deve declarar sua classe como o final e impedir alguns dos subclasses de ser criado.
- Projeto: Uma outra razão nós declarar uma classe como o final é razão object-oriented do projeto. Quando nós sentimos que nossa classe é “aperfeiçoar” e não dever ter subclasses mais mais. Nós podemos declarar nossa classe como o final.
|
Para especificar que a classe é uma classe final, nós devemos usar o keyword “final” antes do keyword da classe na declaração da classe. Se nós quisermos declarar a classe de ImaginaryNumber como calss finais, sua declaração deve olhar como esta:
|
final class ImaginaryNumber extends Number implements Arithmetic
{
. . .
}
|
|
Se as tentativas subseqüentes forem feitas ao subclass ImaginaryNumber, resultará em um erro do compilador como o seguinte:
|
Imagine.java:6: Can't subclass final classes: class ImaginaryNumber
class MyImaginaryNumber extends ImaginaryNumber {
^
1 error
|
|
Criar um método final
|
Se criar a classe final parece pesado para suas necessidades, e você quer apenas proteger algumas das classes que os métodos que são overriden, você pode usar o keyword final na declaração do método indicar o compilador que o método não pode ser cancelado por subclasses.
|
Escrevendo classes abstratas
|
Às vezes você pode querer modelar somente conceitos abstratos mas não quer criar um exemplo da classe. Como discutido mais cedo a classe do número no pacote de java.lang representa somente o conceito abstrato dos números. Nós os números modelo da lata em um programa, mas não faremos nenhum sentido criar um objeto genérico do número. Instead, a classe do número comporta-se como superclass às classes do inteiro e do flutuador que fazem a caixa específica dos instrumentos dos números. As classes gostam do número, aquele executam somente os conceitos abstratos e assim não devem ser instantiated, são chamadas classes abstratas. Uma classe abstrata é uma classe que possa somente ser subclassed e não pode ser instantiated.
|
Para declarar a classe como uma classe abstrata nós usamos o keyword “sumário” antes da classe do keyword na declaração da classe:
|
abstract class Number
{
. . .
}
|
|
Se qualquer tentativa for feita ao instantiate uma classe abstrata, a vontade do compilador indica o erro como mostrado abaixo e recusa-o compilar o programa:
|
AbstractTest.java:6: class AbstractTest is an abstract class.
It can't be instantiated.
new AbstractTest();
^
1 error
|
|
Escrevendo os métodos abstratos
|
Uma classe abstrata pode conter métodos abstratos, métodos abstratos é os métodos, com nenhuma execução. Conseqüentemente uma classe abstrata pode definir toda sua relação de programação e assim fornecer seus subclasses as declarações do método para todos os métodos que são necessários para executar a relação de programação. Entretanto, uma classe abstrata pode deixar detalhes da execução dos métodos aos subclasses.
|
Você declararia uma classe abstrata, GraphicObject, que fornece as variáveis e os métodos do membro que são compartilhados por todos os subclasses. GraphicObject pode também declarar métodos abstratos para os métodos, tais como a tração (), que necessita ser executada pelos subclasses, mas em maneiras inteiramente diferentes. A classe de GraphicObject olharia como esta:
|
abstract class GraphicObject
{
int x, y;
. . .
void moveTo(int newX, int newY)
{
. . .
}
abstract void draw();
}
|
|
Uma classe abstrata não é ter um método abstrato nela. Mas alguns da classe que tiverem um método abstrato nela ou em alguns dos superclasses devem ser declarados como uma classe abstrata. Cada subclass non-abstrato de GraphicObject, tal como o círculo e o retângulo, shoul fornece uma execução para o método da tração ().
|
class Circle extends GraphicObject
{
void draw()
{
. . .
}
}
class Rectangle extends GraphicObject
{
void draw()
{
. . .
}
}
|
|
Como criar e usar relações
|
As relações fornecem um mecanismo para permitir classes hieràrquica unrelated executam o mesmo jogo dos métodos. Uma relação é a coleção de definições do método e dos valores da constante que está livre da dependência em uma classe específica ou em uma hierarquia da classe. As relações são úteis para a seguinte finalidade:
|
- declarando os métodos que aquele ou mais de um classificam esperam-se executar
- revelando a relação de programação do objeto sem revelar sua classe (os objetos como estes os objetos anonymous chamados e são úteis ao enviar um pacote das classes aos outros colaboradores)
- capturando as similaridades entre classes unrelated sem forçar o relacionamento da classe
|
Criar uma relação
|
Criar uma relação é similar àquele de criar uma classe nova. Uma definição de relação consiste em dois componentes: declaração da relação e corpo da relação.
|
interfaceDeclaration
{
interfaceBody
}
|
|
O interfaceDeclaration declara vários atributos sobre a relação tal como seu nome e se estende uma outra relação. O interfaceBody contem as declarações da constante e do método dentro da relação.
|
Usar uma relação
|
Uma relação é usada quando a classe reivindica executar essa relação. Uma classe declara todas as relações que são executadas na declaração da classe. Declarar que os instrumentos da classe um ou mais relação, empregam o keyword “instrumentos” seguiu pela lista vírgula-limitada das relações executadas pela classe.
|
Supôr que nós estamos escrevendo uma classe que execute uma fila do FIFO. Desde que a classe da fila do FIFO é uma coleção dos objetos (um objeto que contenha outros objetos) ele doesnot fazer todo o sentido executar o Countable conectaram. A classe de FIFOQueue declararia que faz instrumentos a relação Countable como mostrado abaixo:
|
class FIFOQueue implements Countable
{
. . .
}
|
|
E desse modo garantindo que fornece implemenations para o currentCount (), o incrementCount (), o setCount (), e os métodos do decrementCount ().
|
|
|
Keywords: java download, java games, javascript, sun java, download microsoft java virtual
machine, sun java free download, java chat rooms, java update, yahoo java
messenger, java certification
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|