python-类以及如何访问类中的属性
创建类
类(Class): ⽤来描述具有相同的属性和⽅法的对象的集合。它定义了该集合中每个对象所共有的属性和⽅法。对象是类的实例。使⽤class语句来创建⼀个新类,class之后为类的名称并以冒号结尾,如下实例:
class ClassName:
'类的帮助信息'#类⽂档字符串
class_suite #类体
下⾯代码就创建了⼀个名为Employee的类.
class Employee:
文件打开方式# '所有员⼯的基类'
empCount = 0
def__init__(self, name, salary):
self.name = name
self.salary = salary
def displayCount(self):
print"Total Employee %d" % pCount
def displayEmployee(self):
print"Name : ", self.name, ", Salary: ", self.salary
如下代码创建Employee的实例。
# "创建 Employee 类的第⼀个对象"
emp1 = Employee("Zara", 2000)
# "创建 Employee 类的第⼆个对象"
emp2 = Employee("Manni", 5000)
访问属性
可以使⽤点(.)来访问对象的属性。使⽤如下类的名称访问类变量:
# 定义类
class Employee:
# '所有员⼯的基类'
empCount = 0
def__init__(self, name, salary):
self.name = name
self.salary = salary
def displayCount(self):
print"Total Employee %d" % pCount
def displayEmployee(self):
print"Name : ", self.name, ", Salary: ", self.salary
# "创建 Employee 类的第⼀个对象"
emp1 = Employee("Zara", 2000)
# "创建 Employee 类的第⼆个对象"
emp2 = Employee("Manni", 5000)
# 访问类成员
教师节老师祝福语emp1.displayEmployee()
emp2.displayEmployee()
我们也可以对类的属性进⾏修改,增加,删除。买新房要交哪些税
emp1.age = 7 # 添加⼀个 'age' 属性
emp1.age = 8 # 修改 'age' 属性
del emp1.age # 删除 'age' 属性
类的继承
⾯向对象的编程带来的主要好处之⼀是代码的重⽤,实现这种重⽤的⽅法之⼀是通过继承机制。继承完全可以理解成类之间的类型和⼦类型关系。
继承语法为 class 派⽣类名(基类名)://... 基类名写作括号⾥,基本类是在类定义的时候,在元组之中指明的。
派⽣类的声明,与他们的⽗类类似,继承的基类列表跟在类名之后,如下所⽰:
class SubClassName (ParentClass1[, ParentClass2, ...]):
'Optional class documentation string'
class_suite
如下继承的例⼦。
class Parent: # 定义⽗类
parentAttr = 100
def__init__(self):
print"调⽤⽗类构造函数"
def parentMethod(self):
print'调⽤⽗类⽅法'
def setAttr(self, attr):
Parent.parentAttr = attr
高一开学第一周周记
def getAttr(self):
print"⽗类属性 :", Parent.parentAttr
class Child(Parent): # 定义⼦类
def__init__(self):
print"调⽤⼦类构造⽅法"
def childMethod(self):
print'调⽤⼦类⽅法 child method'
姓的拼音c = Child() # 实例化⼦类
c.childMethod() # 调⽤⼦类的⽅法
c.parentMethod() # 调⽤⽗类⽅法
c.setAttr(200) # 再次调⽤⽗类的⽅法
⽅法重写
如果你的⽗类⽅法的功能不能满⾜你的需求,你可以在⼦类重写你⽗类的⽅法:class Parent: # 定义⽗类
def myMethod(self):
print'调⽤⽗类⽅法'
class Child(Parent): # 定义⼦类
def myMethod(self):
print'调⽤⼦类⽅法'
c = Child() # ⼦类实例
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论