Princípios básicos detalhados de Java orientado a objetos

 
 

índice

O que é uma aula?

O que é um objeto?

Três características da orientação a objetos (encapsulamento, herança, polimorfismo)

Um pacote

Modificador de acesso

O significado da palavra-chave this

Segundo, herança

Características após variáveis ​​de membro de herança

Características após o método de membro de herança

O significado de super e este

O espaço da classe pai é gerado por objetos de subclasse

Três, polimorfismo

Condições para a existência de polimorfismo:

Criar não é fácil, se este blog é útil para você, lembre-se de deixar uma mensagem + curtir.


       Para a   linguagem Java , tudo é um objeto. Os objetos no mundo real são abstratamente incorporados no mundo da programação. Um objeto representa uma operação específica. Cada objeto constitui finalmente um projeto de programa completo.Estes objetos podem existir independentemente ou herdados de outros objetos. Por meio da interação entre os objetos, são transmitidas informações para realizar o desenvolvimento do programa.

O que é uma aula?

Uma classe é uma abstração de objetos, que é usada para descrever as características e comportamentos comuns de um grupo de objetos. Variáveis ​​de membro e métodos de membro podem ser definidos em uma classe. Variáveis ​​de membro são usadas para descrever as características do objeto e também são chamadas de atributos. Os métodos de membro são usados ​​para descrever o comportamento do objeto e são chamados de métodos.

public class Student {
    //成员变量
    private String name;//姓名
    private int age;//年龄

    //成员方法
    //学习的方法
    public  void study(){
        System.out.println("好好学习,天天向上");
    }
    //吃饭的方法
    public void eat(){
        System.out.println("干饭人干饭时间");
    }
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
    //封装私有变量
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    
    //带参构造函数
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
    //无参构造函数
    public Student() {
    }

O que é um objeto?

Objeto : É a incorporação concreta de uma classe de coisas. Um objeto é uma instância de uma classe (o objeto não é encontrar uma namorada) e deve ter os atributos e comportamentos da classe.
public static void main(String[] args) {
     //创建对象
     Student stu1=new Student("张三",9);
     Student stu2=new Student("李四",9);
     //使用对象访问类中的成员
     stu1.setAge(18);
     stu1.eat();
     stu2.setName("赵四");
     stu2.study();

}

Três características da orientação a objetos (encapsulamento, herança, polimorfismo)

Um pacote

Encapsulação: encapsulação é um princípio importante da abordagem orientada para o objecto Ela tem dois significados: a. Primeira é para combinar todos os atributos do objecto, bem como todos os serviços para formar uma unidade independente indivisível (isto é, o objecto); segundo Este o significado também é chamado de ocultação de informação, ou seja, para ocultar os detalhes internos do objeto tanto quanto possível, formar uma fronteira com o exterior e apenas reter uma interface externa limitada para fazer contato com o exterior.

    1. Use a palavra-chave privada para modificar as variáveis ​​de membro

    2. Forneça um par de métodos getXxx e métodos SetXxx para as variáveis ​​de membro que precisam ser acessadas.

  public class Student {
    //私有成员变量
    private String name;//姓名
    private int age;//年龄
    //提供供外界访问的公有方法
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

Modificador de acesso

O significado da palavra-chave this

  • Isto representa a referência (valor de endereço) do objecto actual da classe, isto é, a referência do próprio objecto.
  • O método é chamado por qual objeto, this no método representa qual objeto. Ou seja, quem está chamando, isso representa quem.

As variáveis ​​encapsulam o valor atual, os métodos encapsulam o código e o comportamento e as classes encapsulam ambos para fornecer vários estados e funções ao mesmo tempo. A interface encapsula métodos.

Segundo, herança

Herança: a herança é uma técnica que permite aos usuários construir novas classes com base em uma classe. A nova classe herda automaticamente os atributos e características de comportamento da classe antiga e pode ter certas características adicionais ou certas restrições.

Herança : a subclasse herda as propriedades e comportamentos da classe pai, de forma que a subclasse tenha as mesmas propriedades e comportamentos da classe pai. As subclasses podem acessar diretamente as propriedades e comportamentos não privados da classe pai.

Melhore a capacidade de reutilização do código. A relação entre classe e classe é a premissa do polimorfismo .

class 父类{
    ···
}

class 子类 extends 父类{
    ···
}
 

Características após variáveis ​​de membro de herança

      Se as variáveis ​​de membro com nomes diferentes aparecerem na classe pai da subclasse, o acesso ao código não terá efeito.

      Se uma variável de membro com o mesmo nome aparece na classe pai da subclasse, você precisa acessar as variáveis ​​de membro não privadas da classe pai na subclasse, e você precisa usar a palavra - chave super para modificar as variáveis ​​de membro da classe pai .

class Zi extends Fu {
    // Zi中的成员变量
    int num = 6; 
    public void show() { 
        //访问父类中的num 
        System.out.println("Fu num=" + super.num); 
        //访问子类中的num 
        System.out.println("Zi num=" + this.num); 
    } 
}

Características após o método de membro de herança

        Se um método de membro com um nome diferente aparecer na classe pai da subclasse, o acesso ao código não terá efeito.

        Se um método de membro com o mesmo nome aparecer na subclasse e na classe pai, haverá uma substituição de método (Substituir)

       Reescrita de método: o método que aparece na subclasse é exatamente igual à classe pai (o tipo de valor de retorno, o nome do método e a lista de parâmetros são os mesmos) e o efeito de cobertura aparecerá. A declaração permanece inalterada e reimplementada.

//父类
class Fu { 
    public void show() {
        System.out.println("Fu show"); 
    } 
}
//子类
class Zi extends Fu { 
    //子类重写了父类的show方法 
    public void show() { 
        System.out.println("Zi show"); 
    } 
}
//测试类ExtendsDemo
public class ExtendsDemo{ 
    public static void main(String[] args) { 
        Zi z = new Zi(); 
        // 子类中有show方法,只执行重写后的show方法 
        z.show(); // Zi show 
    } 
}

O significado de super e este

  •   super: representa o identificador do espaço de armazenamento da classe pai, que só pode aparecer no método (entenda a referência da classe pai)
  •   this: representa a referência do objeto atual (quem o chama em nome de quem).

O espaço da classe pai é gerado por objetos de subclasse

       Cada vez que você criar um objeto de subclasse, primeiro inicialize o espaço da classe pai e, em seguida, crie o próprio objeto de subclasse. O objetivo é que o objeto da subclasse contenha seu espaço de classe pai correspondente, de modo que possa incluir os membros de sua classe pai.Se os membros da classe pai não forem modificados privadamente, a subclasse pode usar os membros da classe pai à vontade. O código é refletido na chamada do método de construção da subclasse, o método de construção da classe pai deve ser chamado primeiro.

Três, polimorfismo

Polimorfismo: O objeto deve responder quando uma mensagem é recebida. Objetos diferentes podem produzir resultados completamente diferentes ao receber a mesma mensagem. Este fenômeno é chamado de polimorfismo.

Condições para a existência de polimorfismo:

  • 1. Existe uma relação de herança
  • 2. O método precisa ser reescrito
  • 3. A referência da classe pai aponta para a classe filha
//子类的引用  指向——>    子类
父类类型  变量名 = new 子类对象;
变量名.方法名();

Tipo pai: refere-se ao objeto da subclasse que herda o tipo pai ou implementa o tipo de interface pai. Polimorfismo é o polimorfismo de métodos, e não há polimorfismo em atributos.

//抽象的父类
public abstract class Animal { 
    public abstract void eat();
}
//子类Cat
class Cat extends Animal { 
    public void eat() { 
        System.out.println("吃鱼"); 
    } 
}
//子类Dog
class Dog extends Animal {
    public void eat() {
        System.out.println("吃骨头"); 
    } 
}
//测试类Test
public class Test { 
    public static void main(String[] args) {
        // 多态形式,创建对象 
        Animal a1 = new Cat(); 
        // 调用的是 Cat 的 eat 
        a1.eat(); 
        // 多态形式,创建对象 
        Animal a2 = new Dog(); 
        // 调用的是 Dog 的 eat 
        a2.eat(); 
    }
}

No código polimórfico, as regras de acesso para métodos membros são: Veja quem é novo, use quem é o primeiro e procure se não houver ninguém.

Criar não é fácil, se este blog é útil para você, lembre-se de deixar uma mensagem + curtir.

Acho que você gosta

Origin blog.csdn.net/promsing/article/details/112387314
Recomendado
Clasificación