关于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.对象的多态性,只适用于方法,不适用于属性;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值