/*
1、前一篇DoNothing可以使用关键字pass
2、学习python实现面向对象的方式
*/
class PersonInfo:
__privateValue = 0 #私有变量,前面以__开头
publicValue=1 #共有变量,前面不能以__开头
def __init__(self,name,age):
self.name = name #变量可以不声明,类似lua
self.age = age
self.__privateValue = 1
self.publicValue =2
def __str__(self):
return "Type:PersonInfo | name :"+self.name+" | age :"+str(self.age)
def getInfo(self): #在类中声明实例方法,写self
print(self.name)
print(self.age)
return
def staticFun(a): #在类中声明静态方法。似乎不建议这么做,语法检查报错,实际不影响运行
print(a)
return
p1 = PersonInfo("XiaoMing1",19)
p1.getInfo() #通过实例去调用,默认会将实例地址传入(作为self)
PersonInfo.staticFun(9999) #通过类名方式调用,即静态方式调用,不会传入实例地址
class Object:
pass
def Person(name1,age1):
p = Object()
p.name = name1
p.age=age1
def getInfo():
print(p.name)
print(p.age)
#print(a)
return
p.getInfo = getInfo
return p
p = Person("XiaoMing",19)
p2 = Person("XiaoHong",20)
p.getInfo()