封装
1.封装是面向对象编程的一大特点
2.面向对象编程的第一步——-将属性和方法封装到一个抽象的类中
3.外界使用类创建对象,都被封装在类的内部
4.对象方法的细节都被封装在类的内部
案例1
"""
小明 体重 75.0 公斤
小明每次 跑步 会减肥 0.5 公斤
小明每次 吃东西 体重增加 1 公斤
"""
class Person:
# 属性 名字 体重
def __init__(self, name, weight): # 使用 __init__方法 来封装属性
# self.name = "小明" # 这种定义属性的方式,让属性值 变得不灵活
# self.weight = 75.0
self.name = name
self.weight = weight
def __str__(self): # 当使用 print(对象名) 的时候,会调用该方法, print(对象名) 不再 输出 对象的 引用/id
return f"我的名字是{self.name},我的体重是{self.weight}kg"
# 方法 跑步 吃东西
def run(self): # 执行 跑步的方法,会对 weight 产生影响
self.weight -= 0.5 # -----> 在方法中,访问 对象的 属性
print(f"{self.name}