- 面向对象编程(Object Oriented Programming),简称OOP,是一种程序设计思想
- OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数
- 每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。
- 在Python中,所有数据类型都可以视为对象,当然也可以自定义对象。自定义的对象数据类型就是面向对象中的类(Class)的概念。
面向对象分析
![](https://img.haomeiwen.com/i15420318/1535041ed2dd91a5.png)
- 类图
![](https://img.haomeiwen.com/i15420318/b791e01e63935eee.png)
基本概念
- 类:用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
- 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。
- 方法:类中定义的函数。
- 实例化:创建一个类的实例,类的具体对象。
- 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
- 局部变量:定义在方法中的变量,只作用于当前实例的类。
- 实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。
- 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
- 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
- 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
类
具有共通
属性
和行为
的一组事物
类
相当于制造飞机时的图纸,是一个模板
,负责创建飞机对象
![](https://img.haomeiwen.com/i15420318/05e01b667e8334b4.png)
对象
对象
是由类
创建出来的一个具体实体,可以直接使用- 由哪个
类
创建的对象
,就具有哪个类
中定义的属性
和行为
对象
相当于根据图纸制造出来的一架架具体的飞机- 在面向对象程序开发中,先有类、再有对象
![](https://img.haomeiwen.com/i15420318/a765f0694d19de8e.png)
类的设计
设计一个类,需要分析需求确定以下3个要素:
- 类名,这类事物的名字,业务流程中出现的名词通常就是要设计的类
- 属性,这类事物具有什么样的特征,定义成数据成员
- 方法,这类事物具有什么样的行为,定义成方法
练习 1
- 小明 今年 18 岁,身高 1.75,每天早上 跑 完步,会去 吃 东西
- 小美 今年 17 岁,身高 1.65,小美不跑步,小美喜欢 吃 东西
![](https://img.haomeiwen.com/i15420318/4469f48a91eb99df.png)
练习 2
- 一只 黄颜色 的 狗狗 叫 大黄
- 看见生人 汪汪叫
- 看见家人 摇尾巴
![](https://img.haomeiwen.com/i15420318/30fc14a276a87bbf.png)
- end -
网友评论