• python面向对象-我的理解


    参考:博客 Vamei 、 廖雪峰

    面向对象概念


     

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

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

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


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

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

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

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

     1 class microbe(object):  # 父类
     2     size = 'little'
     3     structure = 'easy'
     4     # 变量属性,也就是所有微生物都具有的属性
     5 
     6     def Fanzhi(self, x, time):  # 方法属性,微生物的繁殖数量
     7         number = 1
     8         number = number * (2**(time // x))
     9         return number
    10 
    11 
    12 class zhenjun(microbe):  # 子类
    13     xibaohe = True
    14     # 子类变量属性
    15 
    16     def kangshengsu(self, k, m):
    17         weight = 0
    18         weight = weight + m / k
    19         return weight
    20      # 子类方法属性
    21 
    22 
    23 class virus(microbe):#子类
    24     """docstring for virus"""
    25     xibaohe = False#子类变量属性
    26 
    27     def killcell(self, s, i):
    28         num = 1
    29         num = num * 3**(i // s)
    30         return num
    31         #子类方法属性
    32 summer = zhenjun()
    33 hn4 = virus()
    34 print(summer.xibaohe)
    35 print(summer.size)
    36 print('number = ', summer.Fanzhi(2, 9))
    37 print('抗生素质量为', summer.kangshengsu(4, 18), 'g')
    38 print('杀死细胞数量为', hn4.killcell(3, 9), '')
    39 print('number = ',hn4.Fanzhi(2,8))

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

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

    就是所有的属性,

    它可通过

    summer.属性    来调用,

    也就是   对象.属性

     总结--引用自  博客Vamei


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

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

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

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

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

    引用对象的属性: object.attribute

  • 相关阅读:
    电脑出现的问题以及解决方法
    [2] 立方体(Box)图形的生成算法
    [1] 平面(Plane)图形的生成算法
    [0] 各类图形的数据大小获得
    3D几何图形的生成算法
    3D几何图形生成的DEMO
    花了两天时间为我的引擎实现了性能分析的界面显示
    游戏:贪吃虫(GreedyMaggot)
    相声段子:求爱总动员
    三维体数据分割算法
  • 原文地址:https://www.cnblogs.com/sunshinewang/p/6838755.html
Copyright © 2020-2023  润新知