定义:
class Dog():
def __init__(self,name,age,color = "black"):#color = "black",给属性指定默认值
self.name = name
self.age = age
self.color = color
self.weight = 10#给属性指定默认值,这个默认值只能在创建了实例之后,通过 实例.weight=xx来修改
def sit(self):
print(self.name.title()+"is now sotting!")
约定:首字母大写的名称指的是类。
1、方法:__init__():
类中的函数被称为方法。
__init__()是一个特殊的方法(“构造器”、“构造方法”),每当创造新实例时,都会先自动运行这个方法。
2、self:self是一个指向实例本身的引用,让实例能够访问类中的属性和方法。以self为前缀的变量都可供类中的所有方法使用,我们还可以通过类的任何实例访问这些变量。self.name =name获取存储在形参name中的值,并将其存储到变量name中,然后该变量被关联到当前创建的实例。
3、def sit(self):定义时添加指向实例本身的引用(self),让sit()中能够访问实例变量(以self.开头的变量)
继承:
class Dog():
def __init__(self,name,age,color = "black"):
#color = "black",给属性指定默认值
self.name = name
self.age = age
self.color = color
self.weight = 10
def sit(self):
print(self.name+"is sitting!")
class Corgi(Dog):
"""docstring for Corgi"""
def __init__(self, name, age ,size,color = 'yellow'):
super(Corgi, self).__init__(name, age ,color)#调用父类方法,将子类的参数传递给父类的__init__方法
self.size = size
big_hammer = Corgi('dachui',8,20)
big_hammer.sit()
print(big_hammer.color)
print(big_hammer.weight)
print(big_hammer.size)
1、子类的方法__init__():
创建子类的是咧时,python首先需要完成的任务时给父类的所有属性赋值。为此,子类的方法__init__()需要向父类施以援手: super(Corgi, self).__init__(name, age ,color)
2、super():一个特殊函数,帮助python将父类和子类关联起来。让python调用子类的父类的方法__init__(),让子类的实例包含父类的所有属性。原理:调用父类方法,将子类的参数传递给父类的__init__方法
网友评论