文章目录
目录
前言
主要学习面向对象编程(object oriented programming)的基础理论以及如何使用python语言实际运用。
一、面向对象和面向过程的区别和特点
1.面向过程
主要主导一件事怎么去做
1.把完成某个需求的所有步骤从头到尾逐步实现
2.根据开发需求,将某些功能独立的代码封装成一个又一个函数
3.最后完成的代码,就是顺序的调用不同的函数
特点:
1.注重步骤和过程,不注重职责分工
2.如果需求复杂,代码会变得很复杂
3.开发复杂项目,没有固定的套路,开发难度很大!
2.面向对象
主要主导一件事谁去做
1.在完成某一个需求前,首先确定职责---------要做的事(职责)
2.根据职责确定不同的对象,在对象内部封装不同的方法(多个)
3.最后完成的代码,就是顺序的让不同的对象调用不同的方法
特点:
1.注重对象的职责,不同的对象承担不同的职责
2.更加适合应对复杂的需求变哈,是专门应对复杂项目开发,提供的固定套路
3.需求在面向过程的基础上,再学习一些面向对象的语法
二、类和对象
1.基本概念
类是对一群具有相同特征或行为的事物的一个统称,是抽象的,不能直接使用,特征----即属性,行为----即方法,类相当于图纸,一个模板,负责创建对象的。类是模板,对象是根据类这个模板创建出来的,应该先有类,再有对象,且类只有一个,而对象可以有很多个。不同的对象之间,属性可能会各不相同,类中定义了什么属性和方法,对象中就有什么属性和方法,不可能多,也不可能少。
2.类的设计
设计一个类,通常需要满足以下三个要素:
1.类名:这类事物的名字,满足大驼峰命名法(CapWords:每个单词的首字母大写,单词单词之间没有下划线)
2.属性:这类事物具有什么样的特征
3.方法:这类事物具有什么样的行为
3.实际运用
1.定义类
class 类名:
def 方法1(self,参数列表):
pass
def 方法2(self,参数列表):
pass
类中方法的定义,第一个参数必须为self。
2.创建对象
对象变量 = 类名(参数列表)
3.初始化方法
当使用类名()创建对象时,会自动执行以下操作:
①为对象在内存中分配空间-------------创建对象
②为对象的属性设置初始值------------初始化方法,(__init__是对象的内置方法)
__init__方法是专门用来定义一个类具有哪些属性的方法,应用场景,改造初始化方法,让创建对象更加灵活
4.其他内置方法
__del__ | 对象被从内存中销毁前,会被自动调用, |
__str__ | 返回对象的描述信息,print函数输出使用 |
三、封装
1.基本概念
封装是面向对象编程的一大特点,面向对象编程的第一步-----就是将属性和方法封装到一个抽象的类中,外界使用类创建对象,然后让对象调用方法,对象方法的细节,都被封装在类的内部,在对象的方法内部,是可以直接访问对象的属性的。
2.案例演示
1.需求:
1.小明体重75kg,
2.小明每次跑步,减肥0.5kg
3.小明每次吃东西,体重增加1kg
2.类图:
3.实际运用:
总结
类创建不同对象,不同对象的地址是不同的。如果对象直接引用对象,则是同一个对象,则地址也一样。使用print打印输出对象变量,默认情况下,是能够输出这个变量引用的对象是由哪个类创建的对象,以及内存中的地址(十六进制表示)