• 【Python】面向对象:类与继承简单示例


    Python 面向对象

    Python 是一门面向对象的设计语言,与此对应的就是面向过程编程与函数式编程

    面向对象的一个优点就是更好的增强代码的重用性。

    面向过程编程可以简单的理解为:重点在步骤,将一个任务完成所需要的所有步骤罗列出来

    面向对象则可以理解为:重点在对象,打个比方的话就是在人,完成一项任务需要哪些人,这些人再去负责做具体的事情,将所有人组合在一起就完成了这个任务。

    我们通过封装步骤为方法,封装方法为对象,来执行任务。真实世界中的事物从来都不是单独的,每个事物都有自己的类别,而函数是真实世界的映射,对于同一类的事物,同一类事物具有某些相同的特征,我们无需每次对同一类的事物创建相同的特征,而只需要创建一个大类,在这个大类中将某些共同属性封装在一起,然后通过继承的方式去使用这些属性或者方法,对于一些特殊属性特殊方法,我们只需单独创建它们即可——一切重复性的东西都没有必要存在两份。

    下面这个例子定义了一个动物的大类,它具有一些共同属性和方法,以及两个继承它的猫类和狗类,它们具有各自特殊的方法。

     1 class Animal(object): # 定义父类animal
     2 
     3     def __init__(self,name,sound): # 初始化属性 name sound
     4 
     5         self.name = name
     6         self.sound = sound
     7         self.talk() # 一实例化即调用talk()方法
     8 
     9     def talk(self): # 定义父类方法,用于打招呼
    10         print("hello,i am %s,%s" % (self.name,self.sound))
    11 
    12 class Dog(Animal): # 继承父类animal
    13 
    14     def jump(self): # 增加子类新方法
    15         print("i love jumping!")
    16 
    17 class Cat(Animal): # 继承父类animal
    18 
    19     def sleep(self): # 增加子类新方法
    20         print("i love sleeping")
    21 
    22 
    23 catt = Cat("cat","miao~miao~miao") # 实例化cat类,得到catt对象
    24 catt.sleep() # 调用对象方法
    25 
    26 dogg = Dog("dog","wang~wang~wang")
    27 dogg.jump()

    执行结果:

    hello,i am cat,miao~miao~miao
    i love sleeping
    hello,i am dog,wang~wang~wang
    i love jumping!
  • 相关阅读:
    自定义的tabBarController的几种方法
    JAVA如何把一个float四舍五入到小数点后2位,4位,或者其它指定位数.
    ALAssetsLibrary使用
    UITabBarController详解
    学习笔记:Tab Bar 控件使用详解
    iOS开发 跳转场景的三种方式
    Java中文件与字节数组转换
    'NSUnknownKeyException', reason:....etValue:forUndefinedKey:]: this class is not key value coding-compliant for the key
    开源项目
    object-c的异常处理机制
  • 原文地址:https://www.cnblogs.com/waterr/p/13196570.html
Copyright © 2020-2023  润新知