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