面向对象三大基本特征

面向对象三大基本特征

①封装:封装是指将数据和操作数据的方法绑定起来,外界对数据的访问只能通过已定义的接口;

②继承:继承指从已有的类(也称为父类、基类、超类)得到继承信息创建新类(也称为子类、派生类)的过程;

③多态:多态指允许不同的对象对同一消息(发送消息即函数调用)作出不同的响应。

   多态的实现条件:继承:必须涉及父类和子类的问题、重写、向上转型:不管向上还是向下转型都要先向上转型。

   多态又分编译时的多态(静态多态、方法的重写)和运行时的多态(动态多态、方法的重载)。

    (1)方法的重载:可能发生在子类继承父类时,也可能发生在同一个类中,参数的方法名相同但是参数个数或者参数类型必须有一个不同,与方法的返回类型无关。

   (2)方法的重写:子类继承父类时,定义与父类方法完全相同的返回值类型、方法名、参数个数、参数类型。

        注意:子类重写的方法不能与拥有比父类方法更严格的访问权限;父类中访问权限为private的方法不能被重写;若父类中的方法抛出异常,重写的方法也要抛出异常,而且抛出异常的不能广于父类中抛出的异常

        另外,多态中的重写又涉及到向上转型与向下转型:

         1、向上转型:子类引用的对象转换成父类类型;但是子类单独定义的方法不能被调用,会丢失;若子类重写了父类的方法,则优先调用子类的方法,否则调用父类的方法。

              好处:减少重复代码,使代码变简洁;提高系统扩展性;

         2、向下转型:父类引用的对象转换为子类类型;

                          1、先向上转型:Parent parent = new Parent();

                               然后强制转换:Child child = (Child)parent;

                         2、这个对象可以调用子类和父类中的所有方法,若子类重写父类的方法,则优先调用子类中的方法,否则调用父类中的方法。

猜你喜欢

转载自blog.csdn.net/qq_36414647/article/details/80397496