类和对象的定义
# day 3
"""
类与对象
类是抽象的:例如老师、学生、人·
对象是具体的:例如茄子、我的班主任、2路公交车
对象有状态和行为
例如:
茄子:活着
茄子说话:wdnmd、我柜子动了。等等
"""
关于如何在代码中定义类和对象
私有变量
公有变量
魔术方法
构造方法等
# # 类的定义
# 类名满足大驼峰规则,例如:MyName、QieZi
# class 类名:
# pass
# 代表一个空类
#
#
# 格式二:
# class 类名:
# 成员
#
# 对象的创建
# 格式
# 变量名 = 类名()
# Note:创建对象不限制数量
# demo
# class QieZi:
# pass
#
#
# wd_nmd = QieZi()
# 类成员:
# 1.成员变量
# 2.成员方法
# self只出现在成员方法中,指代该方法的对象,类似于c++中的this指针
# demo2
class QieZi:
def __init__(self):
"""构造方法,可以自定义参数,类似于c++的构造函数"""
self.type = "茄子少将" # 共有属性,类似public
self.name = None # 不给值
self.__dnmd = None # 私有变量的定义格式
# 成员方法
def get_dnmd(self):
"""私有变量的封装 :访问器"""
return __dnmd
def set_dnmd(self, member):
"""私有变量的封装 :修改器"""
self.__dnmd = member
def speak(self):
print("wdnmd!")
def talk(self, i):
j = 0
while j < i:
print("我叼你妈的!")
j += 1
def introduce(self):
""" 想要在方法中调用类型的公共变量得加一个self"""
print("我是%s,我叫%s,我喜欢说”%s“" %(self.type, self.name, self.words))
def __WDNMD(self):
"""私有方法的定义"""
return" "
def __str__(self): # 魔术方法,在打印输出对象到屏幕时运行
return "叼你妈的,还想看老子内存"
qiezi = QieZi()
qiezi.name = "刘培茄"
qiezi.words = "我叼你妈的" # 私有属性,类似于private
qiezi.speak()
print("_"*20)
qiezi.talk(5)
print("_"*20)
print(qiezi) # 没有魔术方法的话,直接打印cat1的地址,每次运行,地址不停地变
print("_"*20)
qiezi.introduce()