美文网首页
面向对象编程(OOP)

面向对象编程(OOP)

作者: 一个小运维 | 来源:发表于2021-05-25 20:06 被阅读0次
面向对象编程 Object-Oriented Programming(OOP)

OOA OOD OOP
分析 设计 编程

编程思想:
面向过程:
1) 分析出解决问题的步骤,然后逐步解决。
例如:筹办婚礼
1、发请柬(贴照片 设计邀请语 制作请柬 发送请柬)
2、宴席 (找厨师 购买食材 设计菜品 准备餐具 桌椅板凳)
3、婚礼仪式 (找主持人 设计仪式流程 有哪些环节)
2)公式:程序 = 算法 + 数据结构
3) 优点:所有环节、细节自己掌控
4)缺点:面面俱到 要考虑所有细节、工作量大

面向对象:

1) 指定解决问题的人,分配工作
例如:筹办婚礼
1、发请柬--->摄影公司 (对象)
2、宴席----->酒店(对象)
3、婚礼仪式->婚庆公司 (对象)
2)公式:程序 = 对象 + 交流(交互)
3)优点:分类解决问题 各司其职 、高复用

概念

类: 是抽象的概念,即人类社会里的类别(具有相同属性和行为的 视为 同类)
属性=数据 行为=方法
对象:类的具体实例,归属某个类别的个体
类是创建对象的“模板” 类里包括:个体的属性 和 个体的行为
就是 数据 和 方法
类:拥有相同属性和行为的对象分为一组,即为一个类

class person():
    money = '1亿'
    def run(self):
        print("今天跑步 5公里")
zgd = person()
zgd.run()
print(zgd.money)

单继承:

class shifu(): #师傅类
    def make_cake(self):
        print("独门配置 百年传承")
class tudi(shifu): #徒弟类
    pass
xiaojiu = tudi() #创建徒弟对象
xiaojiu.make_cake() #可以调用父类的方法

多继承:

class bb(): #爸爸类
    def car(self):
        print("BMW")
class mm(): #妈妈类
    def fly(self):
        print("私人飞机1架")
class erzi(bb,mm): #儿子类
    pass
daerzi = erzi() #创建儿子对象
#调用基类方法
daerzi.fly()
daerzi.car()

魔法方法:具体特殊功能的函数, 函数名都是事先定义好的

魔法方法 _ init _() #作用初始化对象,创建对象时默认调用

class person():

    def __init__(self):
        self.gender = 'boy'
        self.age = 1

    def myinfo(self,name):
        print(f"我叫{name} 今年{self.age} 是位{self.gender}")
    money = '1亿'
    def run(self):
        print("今天跑步 5公里")
zgd = person()
zgd.myinfo("zgd")

#可以传参的
class person():
def __init__(self,gender,age):
    self.gender = gender
    self.age = age
def myinfo(self,name):
    print(f"我叫{name} 今年{self.age} 是位{self.gender}")
money = '1亿'
def run(self):
    print("今天跑步 5公里")
wen = person("girl",20)
wen.myinfo("wen")

魔法方法 _ str _() #作用输出return 的返回值,默认输出对象的内存地址

wen = person("girl",20)
print(plj) #
[root@localhost ~]# python3 oop.py
<__main__.person object at 0x7fe8cf7ad400>
]# vim oop.py
class person():
    def __init__(self,gender,age):
        self.gender = gender
        self.age = age
    def __str__(self):
        return "我是person类的对象"
wen = person("girl",20)
print(wen)
:wq

[root@localhost ~]# python3 oop.py
我是person类的对象
[root@localhost ~]#

魔法方法 _ call _() 将实例当成函数来调用,执行此函数内的代码

vim oop.py
class person():
    def __init__(self,gender,age):
        self.gender = gender
        self.age = age
    def __call__(self):
        print(self.age,self.gender)
wen = person("girl",20)
wen()
:wq

[root@localhost ~]# python3 oop.py
20 girl
[root@localhost ~]#

魔法方法 _ del _() 删除对象时自动调用del() 方法

vim oop.py
class person():
    def __init__(self,gender,age):
        self.gender = gender
        self.age = age
    def __del__(self):
        print("对象被成功删除")
wen = person("girl",20)
del wen
:wq

[root@localhost ~]# python3 oop.py
对象被成功删除

相关文章

  • PHP面向对象基础总结

    (一):面向对象编程OOP OOP(Object-Oriented Programming), 面向对象的编程)技...

  • PHP面向对象基础总结(转载整理)

    (一):面向对象编程OOP OOP(Object-Oriented Programming), 面向对象的编程)技...

  • 面向对象

    OOP 指什么?有哪些特性 面向对象编程(Object Oriented Programming,OOP,面向对象...

  • 对象_原型

    OOP 指什么?有哪些特性 面向对象编程(Object Oriented Programming,OOP,面向对象...

  • 面向对象浅析

    ### 面向对象编程和面向对象编程语言 面向对象编程的英文缩写是 OOP,全称是 Object Oriented ...

  • 面向对象基础

    面向对象编程包括: 面向对象的分析(OOA) 面向对象的设计(OOD) 面向对象的编程实现(OOP) 面向对象思想...

  • 整理java(1)

    首先java是面向对象编程语言(oop:Object Oriented Programming 面向对象编程)...

  • 编程思想

    编程思想 面向对象编程 OOP:Object-Oriented Programming(面向对象编程) 字段 fi...

  • Python面向对象继承

    面向对象继承 面向对象编程 (OOP),英语全称:Object Oriented Programming,面向对象...

  • 九月上--编程思想

    编程思想 1.oop思想 OOP:ObjectOrientedProgramming,面向对象编程(程序设计...

网友评论

      本文标题:面向对象编程(OOP)

      本文链接:https://www.haomeiwen.com/subject/dciqsltx.html