python中的面向对象
# 面向对象是非常重要的!# 抽象,是个思想,结构
# 小明 小红 小雨都是人
# 海尔洗衣机 海东洗衣机 海西洗衣机 都是洗衣机
# 猫 狗 熊猫都是动物
# 蓝图
#
# class WashingMachine:# 类名一般是大驼峰
# pass
# # 特征是属性
# age = 20
# # 行为是方法
# def
# 先有类,后有对象
# 做一张蓝图,生成洗衣机
class WashingMachine:# 洗衣机
width = 595
height = 850
# 功能:会洗衣服
def canDoLaundry(self):
print('会洗衣服')
# 生成对象
haier = WashingMachine()
# 获取属性
print(haier.height)
print(haier.width)
haier.canDoLaundry()
# 添加属性
haier.color = 'red'
print(haier.color)
# 修改属性
haier.height = 800
print(haier.height)运行后得:
https://img2023.cnblogs.com/blog/3006231/202211/3006231-20221128231408508-1734345933.png
# 如果说 class 是 英雄
# 那么可以说 魔法方法 是英雄的 被动技能 自动生效 基于一定的条件来触发
# 重构->重命名 修改某一范围的所有特定变量名称,一般选择当前文件
# 魔法方法 __xxx__()
print('魔法方法')
# # add str init del
class WashingMachine:# 洗衣机类
def __init__(self, width, height):# 初始化属性
self.width = width
self.height = height
def __add__(self, other):# 当执行加法时自动触发
self.width += other
self.height += other
return self# 感觉是迭代,返回 对象 ,就可以加多个数
def __str__(self):# 当使用print时触发
"""海尔说明书"""
return f'高度为:{self.height}\n宽度为:{self.width}'
def __del__(self):# 当删除时触发
print('del魔法方法被触发了')
haier = WashingMachine(850, 595)# 触发__init__
haier + 2 + 3# 触发__add__
print(haier)# 触发__str__
del haier# 触发__del__https://img2023.cnblogs.com/blog/3006231/202211/3006231-20221128231636719-618814342.png
# 私有属性 在属性名称的前面加一个下划线# # 烤地瓜 红薯class SweetPotato: def __init__(self): """初始化""" self._times = 0 self._status = '生的' self._seasoning = []# 加的调料 def roasted_Sweet(self, times):# 烤地瓜 """烤地瓜""" # 0-2分钟是生的2-5是半生5-8刚刚好8分钟以上烤焦了 self._times += times# 可能烤了之后再次烤 if 0
页:
[1]