Introdução à programação orientada do objeto (OOP)
A transição de uma língua de programação processual (do non-OOP) a uma língua de programação object-oriented é uma etapa grande para muitos programadores. É verdadeiro que ambos os métodos da programação podem finalmente conseguir os mesmos objetivos, mas você encontrará OOP é uma maneira mais pura e mais rápida programar, é mais apropriado para o teamwork, e os programas são geralmente mais fáceis de projetar usando a aproximação object-oriented. Com o OOP em Java, você encontrará que programar é challenging começar com, contudo muito fácil e muito recompensando uma vez o domine-a. Que é um objeto?Os objetos são os blocos de edifício que fazem acima um programa. É difícil explicar exatamente o que um objeto é porque um objeto pode ser qualquer coisa que você quer. Para o exemplo, você pode criar um objeto que represente um estrangeiro que possa manter toda a informação relacionada ao estrangeiro e também conter a funcionalidade associada com ele. Você pode incluir dados tais como o número das vidas onde o estrangeiro tem e a funcionalidade afetar também os dados, tais como o código para matar o estrangeiro, que poderia remover uma das vidas. Os elementos essenciais que fazem acima um objeto são variáveis e métodos. As variáveis são membros dos dados, ou atributos, que contêm os dados que se relacionam ao objeto, tal como uma corda de texto ou um valor numérico. Os métodos fornecem a funcionalidade do objeto e podem ser usados interagir com os atributos. Os métodos são sabidos também como funções ou procedimentos em vário outras línguas de programação. Programação Objeto-Orientada em Java Uma classe em Java é usada definir a estrutura de um objeto. Uma classe pode ser quebrada para baixo em três porções principais: construtores, atributos (propriedades), e métodos. Deixe-nos agora olhar um exemplo de uma estrutura de classe muito simples que contem estas três peças antes que nós vamos mais mais. Um exemplo de uma classe poderia ser uma pessoa, que poderia descrever os atributos e os métodos que uma pessoa poderia ter associado com eles. Um objeto pode então ser criado da classe da pessoa, como você ou mim, ou mesmo de seu sócio (se você não tem um sócio, jorram então feito; você é um programador verdadeiro). A fim criar um objeto, nós devemos primeiramente criar uma classe. Não se preocupe sobre compilar alguma da direita do código agora; sente-se apenas para trás, agarre-se um café, e a tentativa para compreender alguns princípios. Está aqui o começo de nossa classe da "pessoa": pessoa da classe {}
Agora, no momento em que, nós temos o código do esboço para uma classe da pessoa. Primeiramente nós devemos adicionar alguns atributos. Deixe-nos adicionar um atributo numérico à classe para armazenar a idade de uma pessoa. classifique a pessoa {idade interna; }
Os carrinhos internos do keyword para o inteiro, representando um tipo de dados numérico. Neste momento, a classe da pessoa é todos os atributos e nenhuma funcionalidade (que apontam claramente a uma carreira na política). Nós podemos adicionar um método à classe como segue, que pode ser usada mudar o valor na idade: classifique a pessoa {newAge vago) {/do setAge(int do
público/jogo que a idade ao valor armazenou na idade do newAge = no
newAge; } idade interna; }
Agora nós temos uma classe chamada Pessoa, contendo um setAge chamado método e uma idade chamada atributo. O setAge do método pode ser usado atribuir um valor novo à idade da pessoa. Outra vez, não se preocupe demasiado sobre como os métodos trabalham por o tempo que é; seu café deve apenas estar fresco bastante beber aproximadamente agora. A fim criar um objeto (ou um exemplo, enquanto se sabe também) da classe da pessoa, um construtor deve ser invocado. Todas as classes contêm um construtor do defeito, que não faça nada e possa ser sobrecarregado com muitos tipos do construtor, porque nós veremos. ConstrutoresO construtor é um método que seja chamado quando o objeto é criado e usado inicializar o estado do objeto. O construtor deve ser declarado com o mesmo nome que a classe em que é contida e não pode ter um valor do retorno. Nós adicionaremos agora dois construtores à classe da pessoa: classifique a pessoa {newAge público público) {/de
Person() {// idade básica do construtor é ajustado a 0 pelo defeito}
Person(int/contructor que ajusta a idade a um setAge(newAge)
especificado do valor; } newAge vago) {/do setAge(int do
público/jogo a idade ao valor armazenado na idade do newAge = no
newAge; } idade interna; }
Você pode declarar uma referência a um objeto da pessoa como segue: BillyGate da pessoa; Uma chamada a um construtor deve ser feita para criar um objeto novo do tipo pessoa, atribuindo o billyGate variável para reference o objeto novo. Se nenhum construtor for declarado para uma classe, um construtor do defeito está disponível que tomadas nenhuns parâmetros e cría simplesmente um objeto do defeito da classe quando invocado. Em nosso snippet do código nós criamos nosso próprio construtor Person() do defeito, que não contem nenhum código, e um segundo construtor chamou também o newAge de Person(int), que contem o código que ajusta a idade do valor na pessoa que o objeto a uma idade nova especificou por um valor de parâmetro. Anote teve-nos declarou somente o segundo construtor e omitiu o primeiro construtor, lá foi não mais por muito tempo um construtor do defeito disponível que não faça exame de nenhum parâmetro, porque o construtor do defeito existe somente se a classe não contiver nenhuns construtores user-defined. Para criar um objeto da classe da pessoa, nós poderíamos usar a seguinte linha do código: //que usa o segundo construtor, ajustou o valor da idade ao billyGate de 21 pessoas = Person(21) novo; Esta linha do código declara um identificador chamado billyGate do tipo pessoa e cría um objeto "novo" da pessoa usando o segundo construtor na classe da pessoa inicializar o objeto, ajustando o valor da idade no objeto novo da pessoa a 21. Nós poderíamos também usar o seguinte código preferivelmente, este tempo usando o primeiro construtor (do defeito) inicializar o objeto e ajustar então o valor da idade usando o método do setAge, que é um membro do objeto recentemente criado. //billyGate da pessoa construtor do uso primeiro = Person() novo; //membro setAge do uso para ajustar a idade a 21 billyGate.setAge(21); //jogo o valor da idade a 21 Nós podemos também alcançar a idade variável e ajustada seu valor diretamente, como segue: billyGate.age = 21; Nota você não pode ter dois construtores com a mesma assinatura. Assim distante nós vimos o instantiation, que é o termo usado descrever a criação de um objeto ou de um exemplo de uma classe. O seguinte diagrama ajudar-lhe-á esperançosamente compreender mais melhor este um pouco, como mostra o relacionamento entre a classe da pessoa e os objetos criados dele. Um membro do objeto é um membro que seja criado quando o objeto é criado. Isto significa que pode somente ser alcançado uma vez que o objeto foi criado porque de outra maneira não existe. O exemplo que nós vimos apenas cría um exemplo da pessoa da classe referenced pelo billyGate. Nós poderíamos também ter criado muitos mais exemplos da classe da pessoa. Suponha que nós dissemos que o objeto do billyGate era a única pessoa que nós sempre necessitaríamos ou quereríamos criar; então nós poderíamos desfazer-se da classe da pessoa completamente e para criar simplesmente uma classe nova chamou BillyGate preferivelmente. classifique BillyGate {newAge vago de estática público)
{/do setAge(int/jogo que a idade ao valor armazenou na idade do newAge
= no newAge; } idade de estática interna; }
Observe que nós removemos os construtores e adicionamos o keyword de estática aos dois membros definidos. Isto é porque nós nenhuma necessidade mais longa criar um exemplo desta classe. Nós podemos apenas alcançar os membros de estática usando o nome da classe. Para o exemplo: BillyGate.setAge(21); Estes membros de estática foram sabidos como membros da classe, visto que antes que nós tivemos membros do objeto. Os exemplos que nós usamos assim distante contêm somente membros do objeto ou membros da classe; você pode naturalmente usar ambos. Deixe-nos do retorno a nossa classe da pessoa agora e adicione-o um atributo de estática. O atributo de estática deve ser algo que está indo ser o mesmo para toda a pessoa objeta que nós criamos. Assim nós poderíamos adicionar uma variável de inteiro chamada daysInAYear. pessoa da classe {// código como antes de daysInAYear
interno de estática; }
Nós podemos alcançar o atributo daysInAYear antes que nós criemos todos os objetos da classe da pessoa. Para o exemplo: Person.daysInAYear = 365; Se nós criarmos exemplos novos da pessoa, então demasiado podem alcançar o daysInAYear variável de estática. Person(21) glennMurphy = novo da pessoa; AndrewMulholland da pessoa = Person(20) novo; glennMurphy.daysInAYear = 366; //é um ano de pulo System.out.println(andrewMullholland.daysInAYear); Este código criará dois exemplos novos da pessoa, referenced por glennMurphy e pelo andrewMulholland. O objeto glennMurphy ajusta então o daysInAYear variável de estática a 366, e o objeto do andrewMulholland alcançará daysInAYear, imprimindo seu valor à janela do console. O número que será imprimido à janela do console é 366, que significa aquela daysInAYear não pertence a alguns dos objetos sozinho; pertence a todo, e as mudanças feitas de uma afetam a outra. Há somente uma porção da memória que contem o valor 366 a que toda consultam. No short, é o mesmo atributo entretanto que é alcançado. ReferênciasPara alcançar objetos (recorde que são exemplos das classes) em Java, nós usamo-nos o que são sabidas como referências. Nós usamos três referências assim distante em nossos exemplos do código: billyGate, glennMurphy, e andrewMulholland. Estes não eram os objetos reais que nós criamos mas references meramente (sabido também como os punhos) aos objetos criados. Faça exame do seguinte código para o exemplo: andrewMulholland = glennMurphy; //nunca será meu semelhante Este código faz simplesmente o andrewMulholland reference o mesmo objeto que referências glennMurphy; daqui você poderia então alcançar o mesmo objeto usando qualquer uma das duas referências. O objeto com a idade igual a 20 que o andrewMulholland referenced uma vez está perdido agora, mas não se preocupa sobre livrar a memória; isto é tomado cuidado pelo coletor do lixo de Java. este é um artigo adicionado por Gabriela C. Perez
|
|||
|