#Python3 中类的封装,构造方法的定义,实例化属性,和共有属性
#把具有相同特征的一类东西抽象成一个类
#1,类的定义 关键字:Class
#类和方法的命名都是驼峰命名规则,但是类的首字母大写,方法的首字母小写
class Animal(object): #这里定义了一个Animal类,继承了object基类
pass
#注意,任何类都会继承object基类,所以定义类的时候可以 object可写可不写
# 使用类的时候需要先实例化
an=Animal() #实例化类 现在an这个对象就得到了Animal的所有方法和属性
#2,类中构造方法的学习
class Animal1(object): #这里定义了一个Animal类,继承了object基类
def __init__(self): #这是构造方法,构造方法中必须加参数self
print('对象只要被实例化,我就会被调用,可以把我理解成初始化方法')
a=Animal1() #实例化Animal1类,自动输出构造方法
#实例化构造对象的时候必调用构造方法,构造方法的写法 只能是 __init__
#如果声名类的时候没有定义构造方法,那就会默认调用父类的构造方法
# __init__(self) 中的self这个参数意思是实例化对象自己
'''
#实例化对象调用类中方法的时候一定会默认传一个参数,这个默认参数就是把自己传进去
#所以说只有在类中有(self)参数的方法,才能被实例调用,
#如果类中的方法没有self参数,
#那么这个方法只能被类调用,不能被类的实例化调用
'''
#属性,实例化属性,和类属性
#类属性又叫共有属性
class Animal2(): #定义一个Animal2()类,虽然没写object 但是它默认继承
def __init__(self,name): #定义构造方法
self.name=name #这个叫实例化属性 在方法中定义的叫实例化属性
def getName(self):
print(self.name) #问 为什么我getName中没有定义name属性,我可以输出
#因为,类在实例化的时候得到了自己的name属性,我们把self对象穿进去就有了name属性
#类属性
class Animal3(): #定义一个Animal3()类
age=2 #这个age是共有属性
def __init__(self,name): #定义构造方法
self.name=name #这个叫实例化属性 在方法中定义的叫实例化属性
def getName(self):
print(self.name)
'''
当共用属性被实例化调用的时候,共用属性会变成实例化属性,切记
'''
Python 3.6 定义类中的方法和属性
最新推荐文章于 2023-07-04 22:59:49 发布