面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术 , 发展到一定阶段后的产物。

面向对象:专指在程序设计中采用封装、继承、多态等设计方法

                                    

继承:

       1、面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”。被继承的类称为“基类”、“父类”或“超类”。注意:在某些 OOP 语言中,一个子类可以继承多个基类。但是一般情况下,一个子类只能有一个基类,要实现多重继承,可以通过多级继承来实现。

       2、继承概念的实现方式有三类:实现继承(extends关键字)、接口继承和可视继承。

             (1)实现继承是指使用基类的属性和方法而无需额外编码的能力;java只允许单继承。
             (2)接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力;
             (3)可视继承是指子窗体(类)使用基窗体(类)的外观和实现代码的能力。

         例子:有学生类、老师类、员工类,他们三个类中存在着重复的代码,都有共同的属性:name、age;共同的方法:sleep;此时我们就可以把他们共同的属性和方法单独新建一个类,类的名称就叫Person,(这个可以怎么理解,学生、老师、员工都是人,他们都有名字、年龄,他们都要睡觉)Person类就是把他们的共性提取出来并把它封装起来。现在Person类提取出来了,那么怎么才能让它和学生、老师、员工的类有关系呢?这个时候就要使用继承了,他们继承关系如下:Person类就是父类(也有叫超类、基类、被拓展类),学生、老师、员工都继承于Person类,这些叫子类(也有叫拓展类),当子类集成父类之后,就具有父类的某些行为。由此可见,父类存放的是共性,而子类存放的是特性。从上面的列子可以看出,继承关系解决的是代码重复的问题

 

封装:

        1、把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏,外界无法直接操作和修改。

            2、封装实际上有两个方面的含义: 把该隐藏的隐藏起来. 、把该暴露的暴露出来.。这两个方面都需要通过使用 Java 提供的访问控制符来实现。

                 Java 提供了 3 个访问控制符:private、protected、public

                                 private(当前类访问权限):如果类里的一个成员(包括成员变量 / 方法 / 和构造器等)使用 private 访问控制符来修饰. 则这个成员只能在当前类的内部被访问. 很显然, 这个访问控制符用于修饰成员变量最合适. 使用它来修饰成员变量就可以把成员变量隐藏在该类的内部.

                              protected(子类访问权限):同一个包中的其它类访问, 也可以被不同包中的子类访问, 在通常情况下, 如果使用 protected 来修饰一个方法, 通常是希望其子类来重写这个方法. 关于父类 / 子类 我以后会讲到。

                                    public(公共访问权限):这是一个最宽松的访问控制级别.如果一个成员(包括成员变量 / 方法 / 和构造器等) 或者一个外部类使用 public 访问控制符修饰, 那么这个成员或外部类就可以被所有类访问,不管访问类和被访问类是否处于同一个包中, 是否具有父子继承关系。

 

多态:

         

   

版权声明:本文为Jones-dd原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Jones-dd/p/8831311.html