• 面向对象 初级


    • 面向过程:根据业务逻辑从上到下写垒代码
    • 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可
    • 面向对象:对函数进行分类和封装,让开发“更快更好更强...”

    面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,即:将之前实现的代码块复制到现需功能处。

     1 while True:
     2     if cpu利用率 > 90%:
     3         #发送邮件提醒
     4         连接邮箱服务器
     5         发送邮件
     6         关闭连接
     7  
     8     if 硬盘使用空间 > 90%:
     9         #发送邮件提醒
    10         连接邮箱服务器
    11         发送邮件
    12         关闭连接
    13  
    14     if 内存占用 > 80%:
    15         #发送邮件提醒
    16         连接邮箱服务器
    17         发送邮件
    18         关闭连接
    View Code

     随着时间的推移,开始使用了函数式编程,增强代码的重用性和可读性,就变成了这样:

     1 def 发送邮件(内容)
     2     #发送邮件提醒
     3     连接邮箱服务器
     4     发送邮件
     5     关闭连接
     6  
     7 while True:
     8  
     9     if cpu利用率 > 90%:
    10         发送邮件('CPU报警')
    11  
    12     if 硬盘使用空间 > 90%:
    13         发送邮件('硬盘报警')
    14  
    15     if 内存占用 > 80%:
    16         发送邮件('内存报警') 
    View Code

    今天我们来学习一种新的编程方式:面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)
    注:Java和C#来说只支持面向对象编程,而python比较灵活即支持面向对象编程也支持函数式编程 

    创建类和对象                                                                                     

    class Foo:

      pass

    class:关键字

    调用:obj = Foo()

     

    面向对象三大特性

     

    一. 封装

    1. 数据封装   2.将相关功能封装

    1 class Foo:
    2   def __init__(self,name,age): #数据封装到类中 
    3     self.name = name
    4     self.age = age
    5   def  detail(self):#功能封装到类中
    6     print(self.age)7 obj = Foo("alex",18)

     调用

    1.直接调用&间接调用

    print(obj.age)

    obj.detail()

    二.继承

    多继承:

    1.经典类 python2或者继承object的类

    当类是经典类时,多继承情况下,会按照深度优先方式查找

    2.新式类 python3

    当类是新式类时,多继承情况下,会按照广度优先方式查找(严格意义上使用的是C3算法)

    作用:提高代码的复用性

    三.多态

    python原生支持多态,崇尚鸭子模型

  • 相关阅读:
    VS_VERSION_INFO
    ocx中调用ocx
    MFC注册窗口类以及FindWindow按窗口类名查询(避免用#32770获取窗口句柄)
    VS2010制作dll
    CComboBox自动匹配
    ado连接mysql和ORACLE
    正则表达式
    ocx 中使用CImage和CComPtr
    VC ADO “ParameterDirectionEnum”:“enum” 类型等 重定义问题 解决方案
    VC使用ADO连接远程oracle数据库
  • 原文地址:https://www.cnblogs.com/kxuan/p/14066812.html
Copyright © 2020-2023  润新知