Java--面向对象三大特征-->封装、继承、多态

简介

在面向过程当中只有存在封装(对功能的封装 例如c语言中的函数),而在面向对象中才存在这三大特性。

 继承 -->inheritance

        1、子类可以从父类继承属性和方法(除去父类私有化的方法private修饰的)

        2、子类可以提供自己单独的属性和方法

封装-->encapsulation

         不需要外面访问的我隐藏起来,外界可能用到的我给你提供接口

         1、对外隐藏某些属性和方法

         2、对外公开某些属性和方法

多态--> polymorphism

         1、是程序的最终状态只有 在执行过程中才被决定而非在编译期间就决定了

   具体理解在下面再说

封装

引入封装是可以隐藏对象内部的具体实现,具体的功能对外提供接口,避免内部数据被外部干涉等,可以是程序做到“高内聚”,“低耦合”,使系统具有更好的稳定性和扩展性。

如何实现封装:

        通过访问修饰权限控制符对对象内部的数据和方法进行实现封装。

        1、不同的访问修饰符权限控制

        

成员(成员变量或成员方法)访问权限共有四种:

1、 public 公共的    • 可以被项目中所有的类访问。(项目可见性)

2、 protected 受保护的 • 可以被这个类本身访问;同一个包中的所有其他的类访问;被它的子类(同一个包以及不同包中的子类)访问

3、default(包可见性) • 被这个类本身访问;被同一个包中的类访问。

4、private 私有的    • 只能被这个类本身访问。(类可见性)

 类的访问权限只有两种

1、public 公共的 • 可被同一项目中所有的类访问。 (必须与文件名同名)

2、 default • 可被同一个包中的类访问。

一些默认的封装规则:

     1、类属性一般进行私有化封装(private),这些私有化的对外提供get/set方法(在这些方法中对设置的属性进行检查可以提高安全性,并且这些方法要被外界调用所以要为public修饰)。

     2、只会在本类中 调用的方法修饰为private(辅助本类中的其他方法完成工作)。

     3、外界需要调用的方法,权限修饰符设置为public。

继承

 继承是子类对父类进行扩展,继承父类中的属性和方法(非私有化的),但不会去继承父类的构造方法,所有的类在不写extends是默认继承的是Object类。

简单继承例子:

在java中只存在单继承,多继承会引起不必要的混乱,java中的多继承由接口实现。

子类通过继承父类的方法也可以对方法进行重写,形成自身独特的-->方法重写:

方法重写注意点:

1、 “==”:方法名、形参列表相同。

2、“≤≤”:返回值类型和异常类型,子类小于等于父类。

3、“≥”:访问权限,子类大于等于父类

在继承时,子类调用父类的方法属性时使用spuer关键字,自己的则使用this(相当于当前对象)

多态

在继承的基础下,在编译时给一个模糊的类型(类型),在执行是才给真正的类型(实现父类的子类),这样可以提高程序的的灵活性和扩展
性。

要有多态必须要有一下条件:

1、继承(接口也算),这样才不会将类型唯一化。

2、重写

3、上转型对象

 多态的形式:使用父类做形参 , 使用父类做方法返回值,方法的重载

猜你喜欢

转载自www.cnblogs.com/aismvy/p/12187225.html