Java面向对象设计主要有三大特征:封装性、继承性和多态性

时间:2022-03-14 11:47:01

Java面向对象设计主要有三大特征:封装性、继承性和多态性

一  封装性     

1.1  概念:它是将类的一些敏感信息隐藏在类的类部,不让外界直接访问到,但是可以通过getter/setter方法间接访问。

1.2  目的:我们可以并且有可能在方法中,添加自己的限制,保证数据的有效性;从某种程度上说,封装也提高了代码的健壮性、安全性。

1.3  实现步骤:所有的成员变量全部私有化,格式 :private   数据类型  变量名  ,提供访问成员变量的getter/setter方法。

二  继承性  

2.1  概念:子类通过一种方式来接受父类所有的公有的,受保护的成员变量和成员方法。

2.2  目的:增强了代码的复用性,提高了代码的质量。

2.3  实现步骤:使用extends关键词,标识子类继承父类 ,格式:public    class   子类名    extends   父类名 

2.4  注意事项:  ⑴子类可以在继承父类方法的基础上,重写父类的方法,在具体执行是执行子类的方法;

⑵子类可以定义自己的属性,方法,这是代码扩展性的一种体现;

⑶Java中所有的类,如果没有显示的定义继承自谁,默认都是从Object继承而来的;

⑷(特别注意)Java中,每个类都只能继承一个类————Java的单继承机制。

三 多态性

3.1  概念:程序在运行的过程中,同一种类型在不同的条件下表现不同的结果,这种不定状态的表现形式,可以称为多态。

3.2  分类:ⅰ.设计时多态:方法重载实现的多态

⑴方法重载—————定义的所有方法都是声明在【同一个类】中的;

⑵方法重载的实现————相同的方法名称(不同的参数){},例如:public void   person(){ . . . }

              和public void person(String name){ ........}

   ⅱ .运行时多态:方法【重写】实现的多态

⑴方法重写/覆盖————定义的方法肯定是在子类中覆盖父类的方法,方法出现在两个类中。

⑵方法重写的实现————子类继承父类,然后在子类中重新定衣服类方法的实现。

例如:父类 public class  Pet{}

   子类 public class Cat{}   子类继承父类 Cat  extends  Pet 

   Pet   cat  =  new Cat(); 父类的引用指向子类的对象,表示运行时多态。