面向对象01

1. 基本概念

1.1 过程与函数

过程类似于函数,但只有执行没有返回值;
函数不仅能执行还能返回结果。

1.2 面向过程与面向对象

面向对象相对于面向过程,是更大的封装。
1)面向过程(怎么做?)
面向过程根据需求逐步实现,根据开发需求将某些功能独立的代码封装成一个个函数,最后完成代码后就逐步调用函数。
2)面向对象(谁来做?)
在完成某一个需求前,首先确定职责 —— 要做的事情(方法),
根据职责确定不同的对象,在 对象内部封装不同的 方法(多个),
最后完成的代码,就是顺序地让 不同的对象 调用 不同的方法。

2. 类与对象

类相当于图纸,对象就是根据图纸制造出来的实例。
类 是对一群具有 相同 特征 或者 行为 的事物的一个统称,是抽象的,不能直接使用。
特征被称为属性;
行为被称为方法。
对象是由类创建出来的一个具体存在,可以直接使用。
由哪一个类创建出来的对象,就拥有在 哪一个类中定义的属性、方法。
程序开发过程中先有类,再有对象。
类只有一个,对象可以有很多个。不同对象之间属性可能会各不相同。
类中定义了什么 属性和方法,对象中就有什么属性和方法,不可能多,也不可能少。

在程序开发中,要设计一个类,通常需要满足一下三个要素:
1)类名 这类事物的名字,满足大驼峰命名法
2)属性 这类事物具有什么样的特征
3)方法 这类事物具有什么样的行为

名词提炼法 分析 整个业务流程,出现的 名词,通常就是找到的类

2. 基本语法

在 python 中,变量、数据、函数都是对象。

dir内置函数:使用内置函数 dir 传入标识符 / 数据,可以查看对象内的所有属性及方法。

_ 方法名 _ 格式的方法是 Python 提供的 内置方法 / 属性,稍后会给大家介绍一些常用的内置方法 / 属性。
在这里插入图片描述
在这里插入图片描述

2.1 给类在外部添加属性

在这里插入图片描述
但是这种方法并不推荐使用,因为这种方式并没有针对类的代码进行修改,并没有把对象属性封装在对应的类的内部。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在编写代码时,若先调用方法再设置属性。如果在运行时,没有找到属性,程序会报错。
对象应该包含有哪些属性,应该封装在类的内部。

2.2 关于self

哪一个对象调用的方法,self就是哪一个对象的引用。
在类的外部,通过 变量名. 访问对象的 属性和方法。
在类封装的方法中,通过 self. 访问对象的 属性和方法。
在调用方法时并不需要调用self,在定义方法时第一个参数必须是self。

2.3 初始化方法

当使用 类名() 创建对象时,会自动执行以下操作:
为对象在内存中分配空间 —— 创建对象
为对象的属性 设置初始值 —— 初始化方法(init)

这个 初始化方法 就是 init 方法,init 是对象的内置方法。
init 方法是 专门 用来定义一个类 具有哪些属性的方法!

使用参数设置属性初始值(更加灵活):
在这里插入图片描述
在这里插入图片描述

2.4 内置方法和属性

1)del 方法
· 在 python 中:
当使用 类名() 创建对象时,为对象 分配完空间后,自动 调用 init 方法
当一个 对象被从内存中销毁 前,会 自动 调用 del 方法。

· 应用场景
init 改造初始化方法,可以让创建对象更加灵活。
del 如果希望在对象被销毁前,再做一些事情,可以考虑一下 del 方法。

· 生命周期
一个对象从调用 类名() 创建,生命周期开始。
一个对象的 del 方法一旦被调用,生命周期结束。
在对象的生命周期内,可以访问对象属性,或者让对象调用方法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2)str 方法
注意: str 方法必须返回一个字符串
使用 print 输出对象变量,默认情况下,会输出这个变量引用的对象是由哪一个类创建的对象,以及在内存中的地址(十六进制表示)。

在这里插入图片描述
在这里插入图片描述
使用print函数打印某一个类的对象时,需要在控制台看到一些我们自定义的信息,就可以利用 str 方法。
在这里插入图片描述
在这里插入图片描述

注:内容转载自黑马程序员相关课程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值