面向对象编程(OOP)

深藏阁楼爱情的钟 2021-09-23 12:36 633阅读 0赞
  1. 最近都在大家学习面向对象编程,我写一下我的理解。

1.理解面向对象

(1)结构化程序设计(面向过程程序设计)

  1. 程序 = 算法 + 数据结构
  2. 算法第一位,数据结构第二位

(2)面向对象程序设计

  1. 程序 = 对象 + 对象 + ~~~
  2. 数据第一位,算法第二位
  3. 关键:让每一个对象负责执行一组相关任务

(3)面向对象编程的特性

  1. 万物皆对象,程序是一组对象彼此之间在发送消息,每个对象都有自己的内存占用,可以组装成更大的对象。每个对象都有类型,特定类型的所有对象可以接收相同的消息。

2.面向对象的优点

(1.)便于程序模拟现实世界中的实体

  1. "类"封装建模实体对象的状态和行为

(2.)隐藏细节

  1. 对象的行为和状态被封装在类中,外界通过公开的接口调用类的方法来获得状态信息,不需要关注内部细节如何实现。

(3.)可重用

  1. 可以通过类模板,创建多个对象实例,重用类的定义代码。

3.类和对象的概念、区别和联系

(1)概念:

  1. ①类:类是创建对象的模板和蓝图,类是一组类似对象的共同抽象定义(它是一个**抽象的概念**)
  2. ②对象:对象是类的**实例化**的结果(对象是通过类构造出来的),是具体的,是实实在在存在的,代表现实世界的某一事物。
  3. ③对象的两个关键特性:
  4. 行为:对象能干什么
  5. 状态:对象的属性,行为的结果(一个对象的行为有可能改变一个对象的状态或者属性)

(2)区别

  1. ①类是静态定义
  2. ②对象是动态实例
  3. ③程序代码操作的是对象而非类
  4. ④建模得到的是类而非对象

(3)联系

  1. ①类是对象的定义(也可以理解为类是对象的数据类型)
  2. ②对象的产生离不开类这个模板
  3. ③类存在的目的是实例化得到对象

4.类的建模是一个抽象和封装的过程

  1. ①抽象:去掉不关注的,次要的信息而保留重要的信息
  2. ②**[封装][Link 2]**:信息打包,简单来说:将抽象出来的属性和方法包装在一个类中

#

发表评论

表情:
评论列表 (有 0 条评论,633人围观)

还没有评论,来说两句吧...

相关阅读