[学习]面向过程和面向对象

面向过程和面向对象

面向过程

就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;

面向对象

是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

什么是对象

所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。对象有以下特点:

  • 对象具有属性和行为。
  • 对象具有变化的状态。
  • 对象具有唯一性。
  • 对象都是某个类别的实例。
  • 一切皆为对象,真实世界中的所有事物都可以视为对象。
面向对象的三大特征:
  • 封装(カプセル化)
    封装是将代码及其处理的数据绑定在一起的一种编程机制,该机制保证了程序和数据都不受外部干扰且不被误用。
  • 継承
    1. 子类拥有父类的全部特征和行为,这是类之间的一种关系。
    2. Java 只支持单继承。
  • 多态
    面向对象的多态性,即“一个接口,多个方法”。多态性体现在父类中定义的属性和方法被子类继承后,可以具有不同的属性或表现方式。多态性允许一个接口被多个同类使用,弥补了单继承的不足。
抽象類和接口
  1. 抽象类与接口的区别最重要的区别是,接口的方法不可以有实现,并且是绝对的抽象方法。
  2. 抽象类可以有实例方法用来实现默认行为。
  3. 接口中的变量申明默认是final, 而抽象类中变量申明可以是非final。
  4. 接口中的成员默认是public修饰,而抽象类中成员可以是private, protected等等。

多态的应用

多态
  1. 多态是同一个行为具有多个不同表现形式或形态的能力。
  2. 多态就是同一个接口,使用不同的实例而执行不同操作。
  3. 多态是执行同一个行为(方法),但是因为实例(对象)不同,而产生不同的效果;
  4. 前提:不同的实例(对象)需要遵从或者继承同一个接口或者父类。
多态存在的三个必要条件
* 	继承。is-A
* 	重写。(override)
* 	父类引用指向子类对象
  1. 可以把父类(接口)作为数组的数据类型。这样的话,数组或者集合里就可以存储所有继承或者遵从父类的子类对象
  2. 可以吧父类(接口)作为方法的参数数据类型。这样的话,方法就可以接受所有继承/遵从父类(接口)的子类对象作为参数。
多态理解

多态应用之一,是可以把父类作为集合、数组、函数参数的数据类型
这样的话,可以传递所以继承父类的子类对象

  • 如何理解
可以把数据类型想象成通道,把对象想象成可以通过通道的小球
原来,是子类类型,子类对象,小球可以恰好通过通道
现在,利用多态以后,是父类类型,也就相当于把通道变宽,
这样的话,所有子类对象,也就是子类小球都可以通过通道
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值