• 面向对象一


    本节主要内容:

    1.  面向对象和⾯面向过程

    2. 面向对象如何编写

    3. 面向对象和面向过程大PK

    4. ⾯面向对象三⼤大特征

    1.面向流程:面向流程是以事务的流程为核心,重点是过程,过程就是先干什么再干什么

    优点:负责问题的流程化,编程简单

    缺点:可拓展性较差

    2. 面向对象: 一切以对象为中心

    面向对象:万事万物皆为对象

    优点:可拓展性较强

    缺点:相对于面向过程编程较为复杂

    二. 面向对象如何编写

    # class Dashi:
    # def __init__(self,chifan,shuijiao,saodi):
    # self.chifan = chifan
    # self.shuijiao = shuijiao
    # self.saodi = saodi
    # def meitian(self):
    # print("一天就是%s和%s和%s" %(self.chifan,self.shuijiao,self.saodi))
    # heshang = Dashi("吃饭","睡觉","扫地")
    # heshang.meitian()

    # class User:
    # def __init__(self,username,password):
    # self.username = username
    # self.password = password
    # def login(self,uname,upwd):
    # if uname ==self.username and upwd == self.password:
    # return True
    # else:
    # return False
    # u1 = User("alex","123")
    # ret = u1.login(input("请输入用户名"),input("请输入密码"))
    # print(ret)

    总结: 类与对象的关系: 
    类是对事物的总结. 抽象的概念念. 类用来描述对象.
    对象是类的实例 化的结果. 对象能执行哪些⽅方法. 都由类来决定. 类中定义了什么. 对象就拥有什么

    ——intin——是构造方法,self是他自己

    四. ⾯面向对象的三⼤大特征   
    ⾯面向对象三⼤大特征: 封装, 继承, 多态. 只要是⾯面向对象编程语⾔言. 都有这三个特征.
    1. 封装:  把很多数据封装到⼀一个对象中.  把固定功能的代码封装到⼀一个代码块, 函数, 对 象,  打包成模块. 这都属于封装的思想.
    具体的情况具体分析. 比如. 你写了了⼀一个很⽜牛B 的函数. 那这个也可以被称为封装. 
    在⾯面向对象思想中. 是把⼀一些看似⽆无关紧要的内容 组合到⼀一起统⼀一进⾏行行存储和使⽤用. 这就是封装.
    2. 继承:  ⼦子类可以⾃自动拥有⽗父类中除了了私有属性外的其他所有内容.  说⽩白了了, ⼉儿⼦子可以 随便便⽤用爹的东⻄西.
    但是朋友们, ⼀一定要认清楚⼀一个事情. 必须先有爹, 后有⼉儿⼦子.  顺序不 能乱,  在python中实现继承非常简单.
    在声明类的时候, 在类名后⾯面添加⼀一个⼩小括号, 就可以完成继承关系. 那么什什么情况可以使⽤用继承呢? 
    单纯的从代码层⾯面上来看.  两 个类具有相同的功能或者特征的时候. 可以采⽤用继承的形式.
    提取⼀一个⽗父类, 这个⽗父类 中编写着两个类相同的部分. 然后两个类分别取继承这个类就可以了了.
    这样写的好处 是我们可以避免写很多重复的功能和代码.  如果从语义中去分析的话. 会简单很多. 如
    果语境中出现了了x是⼀一种y. 这时, y是⼀一种泛化的概念念. x比y更更加具体. 那这时x就是y的 ⼦子类.
    比如. 猫是⼀一种动物. 猫继承动物. 动物能动. 猫也能动. 这时猫在创建的时候就 有了了动物的"动"这个属性. 
    再比如,  ⽩白骨精是⼀一个妖怪.  妖怪天⽣生就有⼀一个比较不好 的功能叫"吃⼈人", 
    ⽩白骨精⼀一出⽣生就知道如何"吃⼈人". 此时 ⽩白骨精继承妖精. 话不多说. 上代码.
  • 相关阅读:
    OpenCV 脸部跟踪(2)
    OpenCV 脸部跟踪(1)
    opencv2.4中SVD分解的几种调用方法
    OpenCV教程(42) xml/yaml文件的读写
    OpenCV教程(41) 人脸特征检测
    OpenCV学习(40) 人脸识别(4)
    OpenCV学习(39) OpenCV中的LBP图像
    目标检测的图像特征提取之(三)Haar特征
    目标检测的图像特征提取之(二)LBP特征
    目标检测的图像特征提取之(一)HOG特征
  • 原文地址:https://www.cnblogs.com/DanielYang11/p/9917537.html
Copyright © 2020-2023  润新知