zoukankan      html  css  js  c++  java
  • python,类和对象(一)

      万物皆对象,在python中也存在对象,首先我们需要知道面向对象的三大特征封装、继承、多态。

      封装就是将一种或多种杂乱无序的代码进行有序的分类封装。

      继承可以理解为孩子会继承父亲所有的东西。

      多态可以理解问一个方法多种形式展出。

      类(class):首先约定俗成的规定,那么我们首先创建一个Person类,它包含属性和类方法

    class Person:
        
        #以下都是属性,也就是我们之前说的变量
        pid=410822190002022020 #身份证
        name='张学良'
        age = '118' #如果还活着
    
        # 方法
        def speakCN(self):
            print("能讲一口流利的东北话...")
    
        def run(self):
            print("以前跑得很快...")
    
        def eat(self):
            print("花天酒地...")

      当我们声明类完毕之后,我们要知道怎么调用他。调用方式如下

    >>> zhang = Person()
    >>> zhang.speakCN()
    能讲一口流利的东北话...
    >>> 

      下面说下继承,人是动物,而且是高级动物,那么人肯定会继承动物很多特性,比如喝水,吃饭,跑步,但是中国人会说中国话属于中国人自身的特质。

    class Animal:
        def drink(self):
            print("喝水.....")
        def run(self):
            print("以前跑得很快...")
    
        def eat(self):
            print("花天酒地...")
        
    
    class Person(Animal):
        
        #以下都是属性,也就是我们之前说的变量
        pid=410822190002022020 #身份证
        name='张学良'
        age = '118' #如果还活着
    
        # 方法
        def speakCN(self):
            print("能讲一口流利的东北话...")

      那么,我们通过实例化人的对象,然后调用动物的方法也是可以的,因为它通过Person(Animal)进行了继承:

    >>> p = Person()
    >>> p.drink()
    喝水.....
    >>> 

      多态的意思 就类似  :

    class Animal:
        def drink(self):
            print("喝水.....")
        def run(self):
            print("以前跑得很快...")
    
        def eat(self):
            print("花天酒地...")
        
    
    class Person(Animal):
        
        #以下都是属性,也就是我们之前说的变量
        pid=410822190002022020 #身份证
        name='张学良'
        age = '118' #如果还活着
    
        # 方法
        def speakCN(self):
            print("能讲一口流利的东北话...")
    
    class Parrot(Animal):
        def speakCN(self):
            print("学习人说话...")
        def fly(self):
            print("会飞....")

      人会说中国话,但是鸟也会,同样都是调用speakCN(self),但是表现形式不同。

  • 相关阅读:
    jQuery中$.proxy()的原理和使用
    JS中各种宽度、高度、位置、距离总结
    js中得call()方法和apply()方法的用法
    google浏览器翻译失败解决方案
    js区分移动设备与PC
    知识积累
    Django
    leetcode 27.Remove Element
    leetcode 28. Implement strStr()
    21. Merge Two Sorted Lists
  • 原文地址:https://www.cnblogs.com/pengpengzhang/p/8697782.html
Copyright © 2011-2022 走看看