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

举报
brucexiaogui 发表于 2021/12/30 00:39:46 2021/12/30
【摘要】 python--类组合类对象(二十四)   # 类组合:当类与类之间没有直接逻辑关系,但是需要将他们联合起来,就可以用组合。class Sanjiao: def __init__(self,x): self.num = xclass Yuan: def __init__(self,x): ...

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

 


  
  1. # 类组合:当类与类之间没有直接逻辑关系,但是需要将他们联合起来,就可以用组合。
  2. class Sanjiao:
  3. def __init__(self,x):
  4. self.num = x
  5. class Yuan:
  6. def __init__(self,x):
  7. self.num = x
  8. class Tuxing:
  9. def __init__(self,x,y):
  10. self.sanjiao = Sanjiao(x)
  11. self.yuan = Yuan(x)
  12. def print_num(self):
  13. print('图形中公有%d个三角形,和%d个圆形'%(self.sanjiao.num,self.yuan.num))
  14. tuxing = Tuxing(3,5)
  15. tuxing.print_num()
  16. '''
  17. 类、类对象、实例对象
  18. '''
  19. #新建一个类A
  20. class A:
  21. number = 0
  22. #新建3个实例对象
  23. a = A()
  24. b = A()
  25. c = A()
  26. #输出3个对象引用的number都为0
  27. print(a.number)
  28. print(b.number)
  29. print(c.number)
  30. #输出c对象引用的number为10,其他两个对象都是0.说明c对象改变的不是类中的number静态属性,改变的是属于c对象的number属性
  31. print(c.number+10)
  32. print(a.number)
  33. print(b.number)
  34. # 创建类对象,改变number属性值,他改变的是类下面numbr的静态属性。
  35. A.number+=100
  36. print(a.number)
  37. print(b.number)
  38. '''
  39. 在类中,如果属性的名字和方法名字相同,那么属性将覆盖方法。不能在调用同名的方法
  40. '''
  41. class A:
  42. def max(self):
  43. print('我是max方法')
  44. a = A()
  45. a.max()
  46. a.max=10 #创建一个和max方法同名的属性。
  47. print(a.max) # 只能调用max属性,不能再max方法。

 

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/80432036

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。