provavelmente já ouviu o termo objeto em um contexto de programação antes. Mas o que significa realmente? Vamos começar por olhar para alguns objetos do mundo real, como canetas, livros, smartphones, computadores, etc.
Cada objeto vem em diferentes formas e formas, mas você pode classificar diferentes versões de um mesmo objeto em uma categoria ou grupo. É por isso que você pode ir a uma loja de móveis e reconhecer diferentes itens como “cadeiras”, mesmo se eles parecem muito diferentes um do outro.
Você reconhece todos esses objetos diferentes como sendo parte do mesmo grupo ou tipo. Você percebe semelhanças entre diferentes objetos, coletar a informação, e criar uma representação mental para uma dada categoria de objetos.
Por exemplo, existem diferentes tipos de livros lá fora, mas todos eles tendem a ter um título, um autor, uma capa, páginas, etc. Em outras palavras, os livros individuais todos têm atributos semelhantes que lhe permitem classificá-los em sua mente como parte da categoria “Livro.”
Esta mental lista de atributos que acabamos de descrever para um livro funciona como uma espécie de modelo para o objeto. Na programação, chama-se aula. Ao criar uma classe, você pode vir acima com qualquer nome personalizado, que é por isso que eles são chamados de um tipo nomeado. Como você verá, eles também permitem que você agrupar muitos detalhes juntos, e é também por isso que eles podem ser referidos como tipos complexos. Por outro lado, os tipos simples que você já conhece, como int
ou double
, têm nomes pré-definidos pela linguagem de programação e não podem ser modificados.
como chegamos a nomes de classe?
Similar a variáveis de nomenclatura, os nomes das classes devem ser descritivos e soletrados (lembre-se, evite abreviaturas!). Uma diferença fundamental é que, em vez de usar o camelCase padrão, a primeira letra também deve ser capital como MarvelousCreature
e não marvelousCreature
.
desenhando classes
para ver como desenhar uma classe, vamos continuar com o exemplo do livro. Abaixo, identificamos uma amostra de informação que pode descrever qualquer livro.:
-
título
-
autor
-
número de páginas
-
editora
Esses são atributos de qualquer livro na vida real. No contexto de classes, esses atributos são chamados de campos em Java. Os campos de uma classe são simplesmente um nome chique para algo que você já está familiarizado com: variáveis!agora, você tem a teoria, então vamos colocar isso por escrito!
para declarar uma classe em Java, use uma palavra-chave class
seguida de um nome personalizado. Depois disso, terminá-lo com Chavetas ({}
) que irão abraçar todo o conteúdo. Isso inclui a lista completa de propriedades de:
class Book {// functionality of the class}
Agora vamos adicionar campos como definido anteriormente:
class Book { String title; String author; int numberOfPages; String publisher="OC";}
Repare como os três primeiros não têm valores, mas a um passado não? Se você é um editor que quer catalogar seus livros, então você sabe que o valor da editora será sempre o mesmo, não importa o livro que você produzir. Os títulos do livro, autores e números de páginas, no entanto, irão mudar dependendo do livro em particular.
Se você voltar para o original exemplo de uma livraria on-line, porém, a classe ficaria assim:
class Book { String title; String author; int numberOfPages; String publisher;}
Já que você terá livros de diferentes editoras, você não pode colocar um valor padrão para todas elas. Então, aqui, defina o campo e coloque um valor mais tarde!
Utilizando classes
Você tem um novo tipo Book
📖 – resolvido! O que podes fazer com isso? Afinal, as classes são mais abstratas ou conceituais. Os campos de classe são como um modelo numa livraria online: não importa o livro que você procura, a mesma informação aparecerá (título, autor, número de páginas, etc.).mas quando se está à procura, não se escreve apenas “livro”, certo? Isso não é útil! Precisas de um exemplo específico de um livro, por exemplo, Alice no país das maravilhas. Você está procurando um objeto real que você pode page através e ler. É o mesmo na programação de computadores.
para trabalhar com uma classe, você precisa criar um objeto concreto dessa classe. Em outras palavras, você precisa de um objeto específico, como um livro em particular (Alice no país das maravilhas). Esse livro específico é chamado de uma instância de uma classe! Como seu nome indica, o processo é chamado de instanciamento ou inicialização de um objeto. Para isso, você cria uma variável da classe.
em Java, cada campo do objeto criado deve ter um valor. Esses valores podem ser fornecidos de algumas maneiras. Você viu um no exemplo do editor: hard-setting a value in the class definition.
outra maneira é fornecer um valor na declaração que cria a classe. Vamos ver como se faz isso. Aqui está o código para criar um livro com valores fornecidos no momento em que o objeto é criado:
Como você pode ver, existem alguns elementos diferentes. Primeiro, fazer uma declaração regular de uma variável, com seu nome myBook
e seu tipo Book
. Lembras-te de termos dito que uma aula é um tipo chamado complexo? Bem, aqui está a prova! Em vez de int
double
ou string
, o nosso tipo é a classe que criamos! agora, aqui vem a parte legal. A variável é inicializada com a expressão de criação de objetos new Book("Coding is art","Becky James",425);
. Esta expressão é composta de new
palavra-chave, seguido pelo nome da classe novamente (Book
), e alguns parênteses ()
com valores dentro. Como você pode ver, o parêntese de conter um valor especificado para cada um dos campos originais: title
author
e numberOfPages
. Certificámo-nos de separar cada um com uma vírgula. Finally, end with a semi-colon ;
. Com isso, criou um exemplo do livro de classes! Working
trabalhar com atributos (campos)
Phew! Era muito vocabulário e conceitos. Antes de seguir em frente, vamos recapitular com um diagrama rápido:
isso é melhor? Lembre-se apenas:
-
Use uma classe como um modelo para os seus objectos futuros. Em uma classe, defina o nome e o tipo de algumas variáveis. Em Java, estes são chamados atributos Geralmente, e campos especificamente.
-
para usar o plano legal que você fez, você tem que criar um objeto usando o processo de instanciação. Isso significa declarar uma variável com sua classe como um tipo, então usando a expressão de criação de objeto que você viu acima.
-
Quando instancia um objecto, cria valores para cada um dos campos que já definiu na sua classe.
-
um objeto é chamado de instância de uma classe.
Agora você está pronto! Tens o teu objecto de livro, mas diz que mudas de ideias sobre o valor das tuas variáveis. Como é que acedes aos campos associados ao teu novo objecto brilhante?
uma forma comum de acessar campos em muitas linguagens de programação é usando o que é chamado de notação dot. Significa que você precisa escrever o nome de uma instância ou objeto seguido por um nome de atributo de interesse, separado por um ponto: instanceVariableName.attributeName
.
myBook.title = "Coding is Art";myBook.author = "Becky James";myBook.numberOfPages = myBook.numberOfPages + 10;
Agora você pode alterar o valor dos Campos dentro do seu objeto! Imagine que você adicionou dez páginas porque se esqueceu de adicionar o índice do livro. Você pode digitar o novo número diretamente ou adicionar dez páginas ao valor existente, como na terceira linha. Isto é muito útil quando se fazem pequenas mudanças. 🙂
Tente você mesmo
https://api.next.tech/api/v1/publishable_key/2A9CAA3419124E3E8C3F5AFCE5306292?content_id=2871d3da-5053-4373-a813-46b6fcf8118c
Resumo
neste capítulo, você aprendeu os fundamentos de objetos:
-
Uma classe é um modelo de um objeto.
-
uma variável de uma classe é chamada de instância de uma classe ou um objeto.
-
uma classe permite-lhe criar tipos complexos agrupando os seus atributos definindo campos.
-
para criar um objecto, é necessário declarar uma variável de uma classe e instanciá-la.
-
a notação do ponto permite o acesso aos campos.