十四.Python_面向对象编程

Python_面向对象编程

#三大编程范式
# 函数式编程   #代码量少但复杂
# 过程式编程     #将复杂的逻辑分解为一个个小的逻辑功能,从而完成大型复杂的项目的思路
# 面向对象编程    #利用对象的思想进行编程

# 利用函数模拟面向对象
if __name__=="__main__":
    #模拟类
    def dog(name,color,type):
        #模式类的初始化
        def init(name,color,type):
            #利用字典模拟初始化对象
            dog={"name":name,   #使模拟的对象拥有名字的属性
                 "color":color, #使模拟的对象拥有颜色的属性
                 "type":type,   #使模拟的对象拥有类型的属性
                 "bark":bark,  #使模拟的对象拥有bark函数的行为
                 "sleep":sleep,#使模拟的对象拥有sleep函数的行为
            }
            return dog   #返回实例化的对象
        def bark(self):           #bark函数
            print("一条%s的狗:汪汪汪!"%self["color"])  #模拟某个对象的叫的功能
        def sleep(self):
            print("一只%s正在睡觉!"%self["type"])    #模拟某个对象的睡觉的功能
        return init(name,color,type)  #返回实例化的对象

    #利用函数模拟实例化对象的过程
    dog1=dog("小黄","黄色","藏獒")
    #调用模拟的对象叫的功能
    dog1["bark"](dog1)
    #利用模拟对象睡觉的功能
    dog1["sleep"](dog1)

#class
#利用类完成面向对象    class完成面向对象比函数更加专业
#__init__   将类实例化的函数
#self       指的是自己这个类的对象
#
    #对象拥有的两类元素:  1. 对象的属性元素, 2. 对象的行为元素
#用 . 访问对象属性或行为

    class dog:  #创建对象的类
        def __init__(self,name,color,type):  #将类的属性实例化对象
            self.mingzi=name                #给类的属性赋值
            self.yanse=color
            self.leixing=type
        def bark(self):                    #定义类叫的行为
            print("%s 的狗正在汪汪汪!"%self.yanse)
        def sleep(self):                     #定义类睡觉的行为
            print("一只叫 %s 的 %s 正在睡觉!"%(self.mingzi,self.leixing))

    dog2=dog("小黄","黄色","藏獒")   #类实例化为对象
    dog2.bark()                       #对象调用叫的行为
    dog2.sleep()                        #对象调用睡觉的行为

    #面向对象的增删改查操作

    #查询
    print("这只狗叫 %s"%dog2.mingzi)
    #增
    dog2.leg=5
    print("这只叫%s的狗有%s条腿!"%(dog2.mingzi,dog2.leg))

    #改
    dog2.leg=4
    print("这只叫%s的狗现在还剩%s条腿!" % (dog2.mingzi, dog2.leg))

    #删
    del dog2.leg
    #print(dog2.leg)   AttributeError: 'dog' object has no attribute 'leg'



猜你喜欢

转载自blog.csdn.net/qq_39663113/article/details/85261374