• 面向对象 初级


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

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

     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原生支持多态,崇尚鸭子模型

  • 相关阅读:
    UNIGUI与UNIURLFRAME的互动
    unigui结合JS方法记录
    如何将uniurlframe中html调用delphi的函数
    XE下显示托盘图标(TrayIcon)
    Delphi fmx控件在手机滑动与单击的问题
    Delphi使用iTools安卓模拟器
    Delphi调用SQL分页存储过程实例
    分享Pos函数(比FastPos还要快)
    Delphi Excel导入 的通用程序转载
    Delphi控件cxGrid 如何动态创建列?
  • 原文地址:https://www.cnblogs.com/kxuan/p/14066812.html
Copyright © 2020-2023  润新知