封装,继承,多态是面向对象的三大特征。

一:封装

  我们家里的电视机,里面有各种电路板,和电子元器件,这些电路板和元器件都被装到了电视机的壳里,相当于被封装起来了,对外提供一个开关按钮,我们一按按钮就可以打开电视。电视机生产厂商不允许我们操作电视机内部的东西,而提供给我们一个开关按钮,我们可以通过这个按钮来操作电视机壳里面的东西,这就是封装。对应到程序代码里面,封装可以体现在很多方面,比如方法就是一个封装,在方法中有很多代码,我们只需要通过方法名就可以调用这些代码,相当于将这些代码封装到了方法中。属性也是体现封装的一个典型例子,我们可以给类中的变量一个私有的访问修饰符,相当于把这个变量封装起来,在类的外部就没法直接访问它,通过提供 get和set方法就可以完成对这个变量的存取操作。

public class Student {
     private String name;

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

二:继承

  程序中的继承和我们生活中的继承不同,程序中的继承 指的是一个类继承了另一个类,就具有了该类所有非私有的属性和方法。就可以像调用自己的属性和方法一样去调用。被继承的类叫父类,继承父类的类叫子类。

三:多态

  多态指的是一个对象可以体现出多种形态,比如猫类继承了动物类,那么猫可以体现出两种形态,一种是猫,一种是动物。具体到代码里面通常指的是将子类对象赋给父类类型,在子类里面重写父类里的方法,调用方法的时候执行的是子类里面的方法。在这里,当父类类型的变量被赋子类类型不同时,调用不同子类对象的方法,所以多态也可以说明为:对于同一个方法调用产生不同的结果。

class Animal {
    public void eat(){
    System.out.println("吃东西!");
    }
}

class Cat extends Animal {
    public void eat(){
        System.out.println("猫吃鱼");
    }
}
class Dog extends Animal {
    public void eat(){
        System.out.println("狗啃骨头");
    }
}
12-15 19:28
查看更多