轻松学会python面向对象第9篇---类与对象的关系

共 969字,需浏览 2分钟

 ·

2021-03-22 16:19

对象,实例,对象实例,他们是同一个事物的不同叫法。对象是由类创建出来的,类与对象之间,究竟是什么关系呢?

1. 不是父子关系

首先明确,他们之间不是父子关系。

在本系列的第5篇教程中,举例定义了Dog类和HuntDog,HuskyDog,GoldenDog,三个类,这三个类继承了Dog类。

Dog类与这三个类之间是父子关系,Dog是父类,HuntDog等类是子类。这三个子类之间是兄弟关系。

只有相同事物之间才能够存在父子关系,兄弟关系。类与对象,显然是两个不同的事物,否则也不会起不一样的名字。

2. 类是设计图纸

想要建一座大楼,需要设计图纸,想要建造一艘轮船,需要设计图纸,想要造一架战斗机,需要设计图纸,以此类比,想要创建一个对象,需要一个类。

类,就好比是设计图纸,对象则是根据设计图纸创建出来的。类定义了属性,定义了方法,对象被创建出来以后,自然就有了这些属性和方法。

用之前文章的例子

class Dog():
def __init__(self, _name, _age):
self.name = _name
self.age = _age

def eat_moon(self):
print("天狗吃月")


dog = Dog('二哈', 3)
print(dog.name) # 二哈
print(dog.age) # 3

类Dog是设计图纸,dog是根据设计图纸创建出来的对象。

在做设计时,规定了__init__方法有两个参数,因此在创建对象时,必须传入两个实参,__init__方法的功能是为对象初始化,既然设计图纸这样要求了,那作为工人,就得按照设计图纸的要求来办事。

3. 两者的数量关系

对象可以有多个,而类只有一个。这不难理解,设计图纸有一份就足够了,一份建造飞机的图纸,你可以根据图纸建造出100架飞机。

有时候,我们希望一个类只能创建出一个对象,这就是单例模式,在定义类的时候,需要做点特殊处理才能满足这样的要求。


浏览 27
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报