面向对象的三大特征

来源:互联网 发布:软件服务提供商 编辑:程序博客网 时间:2024/06/06 00:33

一、继承

①什么是继承?继承就是一个类的定义是基于另一个类的之上的,也就是子类父类。

②为什么要有继承?1.极大减少了代码量,提高了代码的复用。2.方便修改已有的方法和属性、扩展新的方法和属性。

③java如何实现继承?通过extends关键字进行继承。

④子类对父类属性的覆盖和方法的重写?因为对于父类的某些属性和方法不适用于子类,所以子类要对这些方法和属性进行重新定义,也就是重写/覆盖。当子类调用这些方法是调用的覆盖或改写后的属性和方法,也就是说父类的属性和方法被隐藏了,想要调用父类的属性和方法,通过super关键字进行调用(super与this区别,super代表父类对象,this代表当前对象)。

⑤子类与父类的构造方法。当实例化子类对象时,会自动调用父类及更上层关系的无参构造函数,并且先调用最高级的构造函数,当前类的构造函数最后调用。当父类中的构造函数是带参构造函数,子类必须通过super关键字并且带参数主动调用父类的构造函数。

二、多态

①对象上转型。

1.父类声明,子类实例化的对象称为上转型对象。
2.上转型对象可以使用从父类继承的变量和方法,还有子类重写的方法,但是不能使用子类覆盖父类的变量
3.上转型对象不能使用子类拓展的属性和方法
4.对象上转型,实现了面向对象的一个重要特征——多态(多态,意味着一个对象有着多重特征,可以在特定的情况下,表现不同的形态)

②接口回调。

1.接口用关键字interface表示;类实现接口用implements表示。
2.接口不能实例化:由实现类实例化。
3.接口的子类:要么是抽象类,要么重写接口中的所有抽象方法。

三、封装

①什么是封装?隐藏了对象的属性和实现的细节等等,只提供公共的访问方法方式。也就是不能随意通过该对象 . 来随意获取到对象的属性,必须通过允许的公共的访问方法方式。

②如何实现?三种访问修饰符+四种访问修饰权限。1.public 范围最广,不用包的非继承类也可以访问。2.protected 范围稍逊,能达到不同包的继承类可以访问。3.默认(也就是修饰符不写) 范围达到同一包内可以访问。4.private 范围最小,仅同一类里可以访问

③get.set方法。为了实现封装,属性一般会设置成private,通过get和set方法实现该类与外界的通信。


原创粉丝点击