面向对象的四大特性

抽象,多态,封装,继承 抽象:把具体的事物,通过抽象,提取他们的共同特点,比如成年人,小孩,老人,抽象成人,然后把他们共同的特点抽出来,然后归纳说道抽象,就需

抽象,多态,封装,继承

抽象:把具体的事物,通过抽象,提取他们的共同特点,比如成年人,小孩,老人,抽象成人,然后把他们共同的特点抽出来,然后归纳

  说道抽象,就需要说一下抽象类,说道抽象类,那么就必须和接口放在一起谈一谈

    抽象类和接口的区别

      抽象类里面的方法可以有具体的实现,接口不可以有

      抽象类的继承使用extends,而接口的实现使用implements

      抽象类不能被实例化,接口也不能

      抽象类可以有构造器,接口没有

      抽象类可以有main函数,接口没有

      抽象类可以实现多个接口,而接口只能实现接口

      抽象类添加新的方法,可以不影响子类,接口不行

    

多态:不同对象,对同一个消息,产生不同的反映

1 Person p =new child(); 
2 Person p =new old();

  还涉及到了向上转型和向下转型

    向上转型,代码如上,可以自动转换

    向下转型,需要强制转换,而且不能直接把父类对象转换成子类

//会报错
Child c = new Person();
//正确写法
Person p = new Child();
Child c = (Child)p

 

  多态的优点

    一旦需求发生变更,只需要修改new的对象(少量修改便可继续使用)

  多态的条件

    继承

    方法的重写

    父类的引用指向子类

封装:把对象属性和行为包裹成一个整体,对外提供功能,外部不了解怎么实现

继承:子类继承父类的属性和行为,并根据自己的需求来扩展行为