参考:博客 Vamei 、廖雪峰

面向对象概念


面向对象完全可以按照自然界生物分类法来理解。

当然,它不会有自然界那么复杂。

因为我专业的关系,因此个人觉得微生物来举例很容易理解。


所有的微生物都具有:形态微小,结构简单的特点,而且他们的繁殖速度都很快,他们的繁殖速度是可以计算的,如果知道时间的话。

微生物具体还可分为真菌类、病毒类等,他们分别又具有自己的特点。

比如,真菌类一般都具有细胞核,还可产生抗生素,而产生的的抗生素质量是可以计算的。

病毒类一般都没有细胞核,病毒会杀死细胞,杀死的数量也可以计算。

 class microbe(object):  # 父类
size = 'little'
structure = 'easy'
# 变量属性,也就是所有微生物都具有的属性 def Fanzhi(self, x, time): # 方法属性,微生物的繁殖数量
number = 1
number = number * (2**(time // x))
return number class zhenjun(microbe): # 子类
xibaohe = True
# 子类变量属性 def kangshengsu(self, k, m):
weight = 0
weight = weight + m / k
return weight
# 子类方法属性 class virus(microbe):#子类
"""docstring for virus"""
xibaohe = False#子类变量属性 def killcell(self, s, i):
num = 1
num = num * 3**(i // s)
return num
#子类方法属性
summer = zhenjun()
hn4 = virus()
print(summer.xibaohe)
print(summer.size)
print('number = ', summer.Fanzhi(2, 9))
print('抗生素质量为', summer.kangshengsu(4, 18), 'g')
print('杀死细胞数量为', hn4.killcell(3, 9), '个')
print('number = ',hn4.Fanzhi(2,8))

通过代码尝试,可以发现子类可以用父类的属性和方法属性,但是父类不可以用子类的。

定义对象summer(实例)属于真菌类,这样他就有了微生物类的类属性,以及真菌类的子类属性,以及它们的方法属性,简单来说,

就是所有的属性,

它可通过

summer.属性    来调用,

也就是   对象.属性

总结--引用自 博客Vamei


将东西根据属性归类 ( 将object归为class )

方法是一种属性,表示动作

用继承来说明父类-子类关系。子类自动具有父类的所有属性。

self代表了根据类定义而创建的对象。

建立对一个对象: 对象名 = 类名()

引用对象的属性: object.attribute

最新文章

  1. IP地址分类
  2. sql总结(3)---比较全
  3. IOS百度地图获取所在的城市名称
  4. selenium浏览器操作
  5. ASP.NET Web API通过ActionFilter来实现缓存
  6. 第三方MMDrawerController的使用 抽屉视图+(SUNSlideSwitchView)进度条手势滑动效果实现
  7. hdu-----(1151)Air Raid(最小覆盖路径)
  8. nyoj 1185 最大最小值【线段树最大值最小值维护】
  9. Appium移动自动化测试(二)--安装Android开发环境(转)
  10. java四种创建对象的方法
  11. Python 模块的一般处理
  12. vue.js中ajax请求
  13. LeetCode:104_Maximum Depth of Binary Tree | 二叉树的最大深度 | Easy
  14. am335x SPI spi_d0, spi_d1 out, in 模式设定
  15. python的类中为什么要引入self
  16. PHP:php中的双引号和单引号的区别
  17. Simple2D-16(音乐播放器)ImGui 库介绍
  18. Selenium安装中的一些问题及解决办法-软硕1703班3组整理分享
  19. shell学习1---基本的shell命令
  20. [k8s]容器化node-expolore(9100)+cadvisor(8080)+prometheus(9090) metric搜集,grafana展示

热门文章

  1. Python编程-继承和接口
  2. QGIS 编译
  3. 关于读取本地text文件,自动被添加空格的问题
  4. Python的operator.itemgetter函数和sorted函数
  5. Kubernetes 待学习列表
  6. 向maven依赖包中添加新的jar包
  7. 关于发邮件报错535 Error:authentication failed&553 authentication is required
  8. 安装配置Apollo-Prota web中心平台
  9. hdoj1002--A + B Problem II
  10. javascript语言历史