面向对象的三大特性

作者: peter_yuan_93 | 来源:发表于2016-03-17 14:16 被阅读74次
    • 封装
    • 继承
    • 多态

    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();//输出内容:猫会吃

    相关文章

      网友评论

      本文标题:面向对象的三大特性

      本文链接:https://www.haomeiwen.com/subject/morclttx.html