面向对象的三大特性

  • 封装
  • 继承
  • 多态

for example:

  • 封装:有一个学生,把学生封装起来
    class Student{
    String stu_name;
    int stu_age;
    public void speak(){
    System.out.println("我会说话");
    }
    }
    把具体的事物的属性或方法抽象出来封装成一个实体类,这就是最简单的封装的思想的应用

  • 继承:有一个类是Animal,创建一些子类
    class Animal{
    String color;
    int weight;
    public void eat(){
    System.out.println("我会吃");
    }
    }

         class Dog extends Animal{
                public void eat(){
                      System.out.println("狗会吃");
                }
         }
    
        class Cat extends Animal{
                public void eat(){
                      System.out.println("猫会吃");
                }
         }
    

父类Animal里封装了两个属性(颜色、体重)和一个动作(方法:吃);子类Dog、Cat继承Animal,一并将Animal的所有属性和动作都继承了过来,Dog也有颜色和体重,Cat也有;但是动作上却使用了重写(override),因为动物吃和具体的狗吃、猫吃的行为可能是不一样的,所以,两个子类分别重写了父类的eat方法,也为多态做准备。

  • 多态:就是创建父类引用可以指向不同的子类对象。实现的三个基本:继承、重写、向上转型。

      Animal animal1 = new Dog();
      animal1.eat();//输出内容:狗会吃
      Animal animal2 = new Cat();
       animal2.eat();//输出内容:猫会吃

你可能感兴趣的:(面向对象的三大特性)