欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于Java中面向对象编程的理解

程序员文章站 2022-05-25 20:50:15
...

关于Java中面向对象编程的理解

在Java中 面向对象编程 的理解

(1)通过类:类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类。

(2)封装:是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想,用户只能通过对外提供的接口访问数据。

(3)多态:是指允许不同类的对象对同一消息做出响应,根据对象创建实例的不同调用不同的方法,本质是编译时和运行时才决定对象的行为。

这里分为两个知识点:静态分派,方法的重载,编译时决定

动态分派,方法重写,运行时决定。

多态的特点:可替换性,灵活性,扩展性,统一编码风格。

(4)继承:继承是指从已有的类中派生新的类,新的类能够吸收已有类的数据属性和行为,并能够扩展新的功能。

特点:可扩展性,代码复用。

抽象类和接口的出别:抽象类单继承,能声明能实现,最大应用场景,模板方法模式的设计。

接口:多继承,只能声明,面向接口编程,spring。

面向对象的目的,代码的可重复性、可扩展性、可靠性。


面向对象的特征一:封装和隐藏

  • 一、问题的引入:

  • 当我们创建一个类的对象以后,我们可以通过“对象.属性”的方式。对对象属性进行赋值。这里,赋值操作要受到

  • 属性的数据类型和存储范围的制约。除此之外,没有其他条件的制约。但是在实际的问题中,我们往往需要给属性赋值

  • 我们可以避免用户使用“对象.属性”的方式对属性进行赋值。则需要将属性声明为私有的(private)

  • 二、封装性的体现

  • 我们将类的属性的私有化(private),同时,提供公共的(public)方法来获取(getXxx)和设置(setXxx)该属性的值。

  •  拓展:封装的体现:①如上:不对外暴露私有的属性
    
  •  				 ②不对外暴露私有的方法
    
  •  				 ③单例模式  ...
    
  • 三、封装性的体现,西药权限修饰符来配合。

  • 1.Java规定的4种权限(从小到大排列):private、缺省、protected、public

  • 2.4种权限可以同来修饰类及类的内部结构:属性、方法、构造器、内部类

  • 3.具体的,4种权限都可以用来修饰类的内部结构:属性、方法、构造器、内部类

  •  	特别注意: 修饰类只能使用:缺省、public
    
  • 总结封装性:Java提供了4种权限修饰符来修饰来修饰类和类的内部结构(属性、方法、构造器、内部类),体现类及类的结构在被调用时可见性的大小


面向对象特征之 二 : 继承性

  • 一、继承性的好处

  • ① 减少了代码的冗余,提高了代码的复用性

  • ② 便于功能的拓展

  • ③ 为了多态性的使用,提供了前提

  • 二、继承性的格式:class A extends B {}

  • A:子类、派生类、subclass

  • B:父类、超类、基类、superclass

  •  2.1体现:一旦子类A继承父类B以后,子类A中就获取了父类B中声明的结构:所有的属性、方法
    
  •        特别的:父类中声明的private的属性或方法,子类继承父类以后,仍然认为获取了父类中私有的结构
    
  •        只是因为封装性的影响,使得子类不能直接调用父类的结构而已。
    
  •  2.2子类继承父类以后,还可以声明自己特有的属性和方法。实现功能的拓展。
    
  •      子类和父类的关系,不同于子集和集合的关系。
    
  •  extend 延展、拓展
    
  • 三、Java中关于继承性的规定

  •  1.一个类可以被多个子类继承
    
  •  2.Java中类的单继承性:一个类只能有一个父类
    
  •  3.子父类是相对的概念。
    
  •  4.子类直接继承的父类,称为:直接父类。子类间接继承的父类:称为间接父类
    
  •  5.子类继承父类以后,就获取直接父类和所有间接父类中证明的属性和方法。
    
  • 四、1.如果我们没有显式的声明一个类的父类的话,则此类继承与java.lang.Object类

  •  2.所有的java类(除java.lang.Object类之外)都直接或间接继承于java.lang.Object类
    
  •  意味着,我们所有的java类具有java.lang.Object中声明的功能。
    

面向对象的三大特征之一:多态性

  • 1.理解多态性:可以理解为一个事物的多种形态。

  • 2.何为多态性:

  •  对象的多态性: 父类的引用指向子类的对象(或子类的对象赋给父类的引用)。
    
  • 3.多态的使用:虚拟方法的调用

  •  有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法
    
  •  总结:编译看左边,运行看右边。
    
  • 4.多态性的使用前提:① 要有类的继承关系 ② 子类要有父类方法的重写(不然没有必要使用父类的引用指向子类的对象)

  • 5.对象的多态性,只适用于方法,不适用于属性;

相关标签: Java