Resumo dos fundamentos da programação orientada a objetos Java





  • Java é uma linguagem de programação orientada a objetos. Programação orientada a objetos, inglês é Programação Orientada a Objetos, abreviadamente OOP.

O que é programação orientada a objetos?

A Programação Orientada a Objetos (OOP) é ​​uma estrutura de programação de computador. Um princípio fundamental da POO é que os programas de computador são compostos de unidades individuais, ou objetos, que podem funcionar como sub-rotinas. OOP atinge três objetivos principais da engenharia de software: reusabilidade, flexibilidade e extensibilidade. OOP = Objeto + Classe + Herança + Polimorfismo + Mensagem, onde os conceitos centrais são classes e objetos.



Guyu

Guyu
Guyu







Noções básicas de orientação a objetos



① Método

A sintaxe para definir um método:

Tipo de retorno do método modificador nome do método (lista de parâmetros do método) { diversas instruções de método; valor de retorno do método de retorno; }


O valor de retorno do método é realizado por meio da instrução return.Se não houver valor de retorno, o tipo de retorno é definido como Void e o retorno pode ser omitido.
Um método completo geralmente inclui o nome do método, o corpo do método, os parâmetros do método e o tipo de valor de retorno do método.



② Método de construção

Ao criar uma instância, a instância é inicializada por meio do construtor.

Como os construtores são muito especiais, o nome do construtor é o nome da classe. Não há limite para os parâmetros do método de construção e qualquer instrução pode ser escrita dentro do método. No entanto, em comparação com os métodos comuns, o método de construção não tem valor de retorno (sem void), e o novo operador deve ser usado para chamar o método de construção.

Um construtor pode chamar outros construtores para facilitar a reutilização de código. A sintaxe para chamar outros construtores é esta(…);



③ Sobrecarga de método

Métodos com o mesmo nome, mas com parâmetros diferentes, são chamados de sobrecarga de método.
O tipo de retorno da sobrecarga do método geralmente é o mesmo;



④ Herança

Java usa a palavra-chave extends para implementar herança;
uma característica da herança é que as subclasses não podem acessar os campos privados ou métodos privados da classe pai.

Herança é um método poderoso de reutilização de código para programação orientada a objetos;
Java permite apenas herança única, e a classe raiz final de todas as classes é Object;
protegido permite que subclasses acessem os campos e métodos da classe pai;

Na herança, se uma subclasse define um método com a mesma assinatura do método da classe pai, ele é chamado de Override.
Se as assinaturas do método forem iguais e o valor de retorno for o mesmo, é Override.



⑤ Polimorfismo

Polimorfismo significa: Para uma chamada de método de um determinado tipo, o método de execução real depende do tipo real de método em tempo de execução; a
chamada de método de Java sempre atua no tipo real do objeto em tempo de execução, esse comportamento é chamado de polimorfismo.



⑥ classe abstrata

Se o método da classe pai em si não precisar implementar nenhuma função, apenas para definir a assinatura do método, o objetivo é permitir que a subclasse o substitua, então o método da classe pai pode ser declarado como um método abstrato (abstrato ).
Se uma classe define um método, mas não executa especificamente o código, esse método é um método abstrato e o método abstrato é modificado com abstrato. Como os métodos abstratos não podem ser executados, esta classe também deve ser declarada como uma classe abstrata.

Uma classe modificada com abstract é uma classe abstrata. Não podemos instanciar uma classe abstrata.



⑦interface

A chamada interface (interface): É uma interface abstrata pura que é mais abstrata que uma classe abstrata, pois não pode nem ter campos. Como todos os métodos definidos pela interface são públicos abstratos por padrão, esses dois modificadores não precisam ser escritos (o efeito é o mesmo, sejam eles escritos ou não).
Quando uma classe específica implementa uma interface, a palavra-chave implements precisa ser usada.

Em Java, uma classe só pode herdar de outra classe, não de múltiplas classes. No entanto, uma classe pode implementar múltiplas interfaces.

A interface Java refere-se especificamente à definição de interface, o que significa um tipo de interface e um conjunto de assinaturas de métodos, enquanto interface de programação geralmente se refere a especificações de interface, como assinaturas de métodos, formatos de dados, protocolos de rede, etc.
Uma interface pode herdar de outra interface. interface herda de interface e usa extends, o que equivale a estender o método da interface.



⑧ Campos e métodos estáticos

Os campos modificados com estáticos são chamados de campos estáticos. Onde existem campos estáticos, existem métodos estáticos. Um método decorado com static é chamado de método estático.
Como o método estático pertence à classe e não à instância, portanto, dentro do método estático, nem a variável this nem o campo da instância podem ser acessados, ele só pode acessar o campo estático.
Métodos estáticos também são frequentemente usados ​​em métodos auxiliares. Observe que main(), o ponto de entrada do programa Java, também é um método estático.



⑨bolsa

Em Java, usamos pacotes para resolver conflitos de nomes.
Java define um namespace chamado pacote: package. Uma classe sempre pertence a um determinado pacote, o nome da classe (como Person) é apenas uma abreviatura, o nome completo real da classe é packagename.classname.
Quando a máquina virtual Java é executada, a JVM analisa apenas o nome completo da classe, portanto, desde que o nome do pacote seja diferente, a classe será diferente. Os pacotes podem ser multicamadas, separados por . Por exemplo: java.util.

Classes no mesmo pacote podem acessar campos e métodos com escopo de pacote. Campos e métodos não modificados por public, protected ou private são escopos de pacote.



⑩ escopo

público:

Classes e interfaces definidas como públicas podem ser acessadas por qualquer outra classe;

privado:

Campos e métodos definidos como privados não podem ser acessados ​​por outras classes;

protegido:

Campos e métodos definidos como protegidos podem ser acessados ​​por subclasses, bem como subclasses de subclasses; protegido atua em relacionamentos de herança.

pacote:

O escopo do pacote refere-se a uma classe que permite acesso ao mesmo pacote sem classe pública e privada modificada e sem campos e métodos públicos, protegidos e privados modificados.
Desde que estejam no mesmo pacote, eles podem acessar a classe, campo e método da permissão do pacote.



⑪ Classe interna

Organize classes diferentes em pacotes diferentes. Para as classes de um pacote, elas estão no mesmo nível e não têm relacionamento pai-filho; há também
uma classe que é definida dentro de outra classe, por isso é chamada de classe interna ( Nested Class )



⑫ caminho de classe e jar

classpath é uma variável de ambiente usada pela JVM para instruir a JVM sobre como procurar classes.
A JVM determina o caminho e a ordem de busca de classes por meio da variável de ambiente classpath;

O pacote jar é equivalente a um diretório e pode conter muitos arquivos .class para fácil download e uso.



⑬ modelo

O objetivo dos módulos introduzidos pelo Java 9 é gerenciar dependências;
o JRE pode ser empacotado sob demanda usando módulos;
os direitos de acesso às classes são ainda mais restritos pelo uso de módulos.



--------------------------



Classes principais Java



① String e codificação

Corda

É um tipo de referência, que também é uma classe. Uma de suas características importantes é que a string é imutável;
a string Java String é um objeto imutável;
a operação de string não altera o conteúdo da string original, mas retorna uma nova string;
operações comuns de string: extrair substring, pesquisar, substituir , conversão de caso, etc.;

Nos primeiros sistemas de computador, para codificar caracteres, o American National Standards Institute (American National Standard Institute: ANSI) desenvolveu um conjunto de codificações para letras, números e símbolos comuns do inglês, que ocupam um byte e variam de 0 a 127, o o bit mais alto é sempre 0, o que é chamado de codificação ASCII.
Por exemplo, o caractere 'A' é codificado 0x41, que é 65 decimal; o caractere '1' é codificado 0x31, que é 49 decimal.

Java usa codificação Unicode para representar String e char;
a codificação de conversão é para converter String e byte[], e a codificação precisa ser especificada;
ao converter para byte[], a codificação UTF-8 sempre tem prioridade.



② StringBuilder

É um objeto mutável, que é usado para concatenar strings de forma eficiente;
para concatenar strings de forma eficiente, a biblioteca padrão Java fornece StringBuilder, que é um objeto mutável que pode pré-alocar buffers. Desta forma, ao adicionar caracteres ao StringBuilder, não Um novo objeto temporário é criado.
StringBuilder pode suportar operações em cadeia, e a chave para realizar operações em cadeia é retornar a própria instância;
StringBuffer é uma versão thread-safe do StringBuilder, que raramente é usada agora.



③ StringJoiner

É mais conveniente usar StringJoiner ou String.join() ao unir matrizes de strings com um delimitador especificado;
ao usar StringJoiner para unir strings, um "início" e um "fim" adicionais podem ser adicionados.



④ Tipo de embalagem

Para transformar o tipo básico int em um tipo de referência, podemos definir uma classe Integer, que contém apenas um campo de instância int, de modo que a classe Integer possa ser considerada uma classe wrapper (Classe Wrapper) para int.



⑤JavaBean

Se o método de leitura e escrita estiver em conformidade com a seguinte convenção de nomenclatura (método get/set), então esta classe será chamada JavaBean.

// Método de leitura:
public Type getXyz() { }
// Método de gravação:
public void setXyz(Type value) { }

A principal função do JavaBean é transferir dados, ou seja, combinar um conjunto de dados em um JavaBean para facilitar a transmissão.



⑥ classe de enumeração

Para que o compilador verifique automaticamente se um determinado valor está no conjunto de enumerações, e enumerações para finalidades diferentes precisam ser marcadas com tipos diferentes e não podem ser misturadas, podemos usar enum para definir classes de enumeração.

Java usa enum para definir o tipo de enumeração, que é compilado pelo compilador na classe final Xxx estende Enum { ... };
obtém a string definida pela constante através de name(), tome cuidado para não usar toString();
retorna o ordem da definição constante através de ordinal() (sem significado real);
Você pode escrever construtores, campos e métodos para enum.
O construtor de enum deve ser declarado como privado, e os campos são fortemente recomendados para serem declarados como finais;
enum é adequado para uso em instruções switch.



⑦ Gravar aula

Use Record para definir classes invariantes;
você pode escrever Compact Constructor para verificar parâmetros;
você pode definir métodos estáticos.



⑧ BigInteger

java.math.BigInteger é usado para representar números inteiros de qualquer tamanho.
BigInteger é uma classe imutável e herda de Number;
métodos como longValueExact() podem ser usados ​​para garantir resultados precisos ao converter BigInteger em tipos básicos.



⑨ GrandeDecimal

Assim como BigInteger, BigDecimal pode representar um número de ponto flutuante de qualquer tamanho com total precisão.
BigDecimal é usado para representar decimais precisos e é frequentemente usado em cálculos financeiros;
para comparar se os valores de BigDecimal são iguais, você deve usar compareTo() em vez de equals().



⑩ Ferramentas comuns

Matemática

A classe Math é usada para cálculos matemáticos e fornece um grande número de métodos estáticos para facilitar nossa implementação de cálculos matemáticos.

aleatório

Random é usado para criar números pseudo-aleatórios. O chamado número pseudo-aleatório significa que, desde que seja fornecida uma semente inicial, a sequência de números aleatórios gerados é exatamente a mesma.

SeguroRandom

SecureRandom é usado para criar números aleatórios seguros.









Nota:
Curtidas, comentários e reimpressões são bem-vindos. Por favor, forneça o link do texto original em um local óbvio na página do artigo
. Quem sabe, obrigado por ler meu artigo no meio da multidão.
Onde está a assinatura sem personalidade!
Para obter detalhes, siga- me
e continue atualizando

Digitalize para ter uma surpresa!
© 2021 04 - Guyu.com | 【Direitos autorais, todos os direitos reservados】

Acho que você gosta

Origin blog.csdn.net/weixin_49770443/article/details/115199723
Recomendado
Clasificación