• python 面向对象(三大特性)


    python 面向对象(初级)

    (思维导图 ↑)

    概述:

      面向过程:根据业务逻辑从上到下垒代码.

      函数式:将某功能代码封装至函数中,日后便无需重复编写,仅调用函数即可

      面向对象:对函数进行分类和封装,让开发"更快更好更强..."

    创建类和对象:

      面向对象编程是一种编程方式,此编程方式的落地需要使用"类"和"对象"来实现,所以,面向对象编程其实就是对"类"和"对象"的使用.

    class Foo:
    
        # 创建类中的函数
        def Bar(self):
            print('bar')
        def Hello(self,name):
            print('我叫%s'% name)
    
    # 根据类Foo创建对象obj
    obj = Foo()
    obj.Bar()         # 执行Bar方法
    obj.Hello('裴杰')    # 执行Hello方法

    面向对象三大特性:

    一.封装

    封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容.所以,在使用面向对象的封装特性时,需要:

    -将内容封装到某处

    -从某处调用被封装的内容

    # 创建类
    class Foo:
        def __init__(self,name,age):   # 构造方法,根据类的创建对象时自动执行.
            self.name = name
            self.age = age
    
        def func(self):
            print('姓名:%s,年龄:%s' % (self.name,self.age))
    
    # 根据Foo创建对象
    # 自动执行Foo类的 __init__ 方法
    obj1 = Foo('裴杰',80)
    obj2 = Foo('张博文',18)
    obj1.func()
    obj2.func()

    二.继承

    继承,面向对象中的继承和实现生活中的相同,即:子可以继承父的内容.

    例如:

    class Animal:
        def eat(self):
            print('%s 吃 ' % self.name)
    
        def drink(self):
            print('%s 喝 ' % self.name)
    
        def shit(self):
            print('%s 拉 ' % self.name)
    
        def pee(self):
            print('%s 撒 ' % self.name)
    
    class Cat(Animal):
        def __init__(self,name):
            self.name = name
            self.breed = ''
    
        def cry(self):
            print('喵喵叫')
    
    class Dog(Animal):
        def __init__(self,name):
            self.name = name
            self.breed = ''
    
        def cry(self):
            print('汪汪叫')
    
    ######## 执行 #########
    c1 = Cat('裴杰家的小黑猫')
    c1.eat()
    
    c2 = Cat('裴杰家的小白猫')
    c2.drink()
    
    d1 = Dog('李承家的小傻裴')
    d1.eat()

    三.多态

    python崇尚"鸭子类型"

    class F1:
        pass
    
    class S1(F1):
        def show(self):
            print('S1.show')
    
    class S2(F1):
        def show(self):
            print('S2.show')
    
    def Func(obj):
        print(obj.show())
    
    s1_obj = S1()
    Func(s1_obj)
    
    s2_obj = S2()
    Func(s2_obj)
  • 相关阅读:
    Closing File Descriptors
    Redirecting stdout using exec
    Debugging on part(s) of the script
    Android深入浅出之Audio 第一部分 AudioTrack分析
    svn在linux下的使用(svn命令)[转]
    Android深入浅出之Binder机制
    bash中获取文件路径和文件命的函数
    Android深入浅出之Audio 第一部分 AudioTrack分析
    Shell的脚本编程
    Android深入浅出之Surface
  • 原文地址:https://www.cnblogs.com/zbw582922417/p/9542466.html
Copyright © 2020-2023  润新知