python--类组合类对象(二十四)

python--类组合类对象(二十四)

# 类组合:当类与类之间没有直接逻辑关系,但是需要将他们联合起来,就可以用组合。
class Sanjiao:
    def __init__(self,x):
        self.num = x
class Yuan:
    def __init__(self,x):
        self.num = x
class Tuxing:
    def __init__(self,x,y):
        self.sanjiao = Sanjiao(x)
        self.yuan = Yuan(x)

    def print_num(self):
        print('图形中公有%d个三角形,和%d个圆形'%(self.sanjiao.num,self.yuan.num))

tuxing = Tuxing(3,5)
tuxing.print_num()


'''
类、类对象、实例对象
'''
#新建一个类A
class A:
    number = 0
#新建3个实例对象
a = A()
b = A()
c = A()
#输出3个对象引用的number都为0
print(a.number)
print(b.number)
print(c.number)
#输出c对象引用的number为10,其他两个对象都是0.说明c对象改变的不是类中的number静态属性,改变的是属于c对象的number属性
print(c.number+10)
print(a.number)
print(b.number)
# 创建类对象,改变number属性值,他改变的是类下面numbr的静态属性。
A.number+=100
print(a.number)
print(b.number)

'''
在类中,如果属性的名字和方法名字相同,那么属性将覆盖方法。不能在调用同名的方法
'''
class A:
    def max(self):
        print('我是max方法')
a = A()
a.max()
a.max=10  #创建一个和max方法同名的属性。
print(a.max)  # 只能调用max属性,不能再max方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值