一、面向对象和面向过程的对比
1、面向对象 oop:object oriented programming
面向对象的基本概念
面向对象的程序设计核心是对象
我们之前学习的编程方式就是面向过程的
面向过程和面向对象,是两种不同的编程方式
对比面向过程的特点,可以更好的了解什么是面向对象
面向对象:--谁来做?
相比较函数,面向对象是更大的封装,根据职责在一个对象中封装多个方法
1)在完成某一个需求前,首先确定职责--要做的事(方法)
2)根据职责确定不同的对象,在对象内部封装不同的方法(多个)
3)最后完成代码,就是顺序的让不同的对象调用不同的方法
特点:
1)注重对象和职责,不同的对象承担不同的职责
2)更加适合对复杂的需求变化,是专门应对复杂项目的开发,提供的固定套路
3)需要在面向过程的基础上,再学习一些面向对象的语法
过程和函数(都是对一段功能的代码进行封装)
过程:是早期的一个编程概念
过程类似于函数,只能执行,但是没有返回值
函数:不仅能执行,还可以返回结果(return)
2、面向过程:---侧重于怎么做?
面向过程的程序设计的核心是过程
1)把完成某一个需求的 所有步骤 从头到尾 逐步实现
2)根据开发要求,将某些功能独立的代码封装成一个又一个函数
3)最后完成的代码,就是顺序的调用不同的函数
特点:
1)注重步骤与过程,不注重职责分工
2)如果需求复杂,代码会变得很复杂
3)开发复杂项目,没有固定的套路,开发难度很大
二、类和对象
1、类和对象的概念
类:是对一群具有相同特征或行为的事物的一个统称,不能直接使用(比如:飞机制造图纸不能飞上天)
特征:属性
行为:方法
对象:由类创建出来的一个具体的存在,可以直接使用(用图纸制造出来的飞机可以飞上天)
在程序开发中:应该先有类 再有对象
2、类的设计
1)类名:这类事物的名字,满足大驼峰命名法
大驼峰命名法
每一个单词的首字母大写
单词与单词只见没有下划线
2)属性:这个类创建出的对象有什么样的特征
3)方法:这个类创建出的对象有什么样的行为
当一个类定义完成后,要使用这个类来定义对象
语法格式:对象名 = 类名(
定义只包含方法的类
class 类名:
def 方法1(self):
pass
def 方法2(self):
pass
示例:

运行结果为:

self:哪一个对象调用的方法,self就是哪一个对象的引用
在类封装的方法内部,self就表示当前调用方法的对象自己
调用方法时,程序员不需要传递self参数(但是定义的时候,第一个参数必须是self)
在方法内部:可以通过self.访问对象的属性
在方法内部:可以通过self.调用其他的对象方法

运行结果为:

3、初始化方法
初始化方法:__init__ 是python对象的内置方法
__init__方法是专门用来定义一个类具有哪些属性和方法的
初始化方法
我们现在已经知道了使用 类名( ) 就可以创建一个对象
当使用类名( )创建对象时,python的解释器会自动执行以下操作:
1.为对象在内存中分配空间--创建对象
2.调用初始化方法为对象的属性设置初始值--初始化方法(__init__)
这个初始化方法就是__init__方法,__init__是对象的内置方法
__init__方法是专门用来定义一个类具有哪些属性的方法

运行结果为:

4、内置方法
1)__del__内置方法
在python中
当一个对象被从内存中销毁前(把这个对象从内存中删除掉),会自动调用__del__方法
应用场景
__del__如果希望在对象被销毁前,再做一些事情,可以考虑一下__del__方法
del关键字,可以从内存中删除一个对象,del关键字自己调用了__del__方法

2)__str__内置方法
__str__方法:返回对象的描述信息 print 对象
_str__方法:
在python中,使用python输出对象变量,默认情况下,会输出这个变量引用的对象是由哪>一个类创建的对象,以及在内存中的地址(十六进制表示)
如果在开发中,希望使用print输出对象变量时,能够打印自定义的内容,就可以利用__str__这个内置方法了

运行结果为:

3)生命周期的定义
生命周期
一个对象从调用类名()创建,声明周期开始
一个对象的__del__方法一旦被调用,生命周期就结束
在对象的生命周期内,可以访问对象的属性,调用对象的方法
相关文章:
-
2021-11-23
-
2022-12-23
-
2022-12-23
-
2022-02-07
-
2022-12-23
-
2022-12-23
-
2021-07-29
-
2022-12-23
猜你喜欢
-
2022-12-23
-
2022-12-23
-
2021-09-29
-
2022-12-23
-
2022-12-23
-
2022-12-23
-
2022-12-23
相关资源
-
下载
2023-03-18
-
下载
2021-06-05
-
下载
2021-06-05