• 面向对象基础


    面向过程:

    核心是过程二字,过程指的是结局问题的步骤,设计一条流水线,机械式的思维方式,

    根据业务逻辑从上到下写代码

    优点:复杂的问题流程化,进而简单化

    缺点:可扩展性差

    面向对象:

    核心就是对象二字

    类:类是一系列对象的特征与相似的结合体
    对象:特征与技能的集合体

    将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程
    优点:可以扩展性强,
    缺点:编程复杂度高
    引用场景:用户需求经常变化,互联网应用,游戏,企业内部应用

    什么是类:类就是一系列对象的特征与技能的结合体
    强调:站在不同的角度,得到的分类是不同的

     类的构成

    类(Class) 由3个部分构成

    • 类的名称:类名
    • 类的属性:一组数据
    • 类的方法:允许对进行操作的方法 (行为)

    类的抽象

    如何把日常生活中的事物抽象成程序中的类?

    拥有相同(或者类似)属性和行为的对象都可以抽像出一个类

    方法:一般名词都是类(名词提炼法)

    定义类,

    calss luffystudent:
        school = 'luffycity' # 数据属性   类在定义的时候就会执行
        def learn(self): # 函数属性
            print('is learning')
        def eat(self):
            print('is eating')

    2后产生对象

    python2 新式类,经典类

    • 经典类,没有继承object的类,以及它的子类都称之为经典类
    • 新式类,继承object的类,以及它的子类都称之为新式类

    python3 都是新式类,一个类没有继承object类,其实是默认继承

    • 新式类,有一个内置方法.__mro__( ) 广度优先
    • 经典类,没有mro方法,一条道走到黑,深度优先

    类的基本操作

    • 查看类的名称空间
      print(luffyStudent.__dict__)    #print(luffyStudent.__dict__['school'])

    • print(luffystudent.school) # == luffyStudent.__dict__['school']

    • luffy.student.county = "China"

    • del luffystudent.county

    • luffystudent.school = 'luffycity'

    对象的基本操作
    __init__方法用来为对象定制自己独有的特征,实例化对象的时候自动调用

    • 实例化对象
      stu = luffystudent()

    • print(stu.__dict_)
      print(stu.school)

    • stu.school = "安富中学"

    • del stu.school

    • shu.class_name = "python开发"

    绑定方法

    类中的数据属性,是所有对象共有的
    函数对象是绑定给对象的
    类中的函数属性:是绑定给对象使用的,绑定到不同的对象是不同的绑定方法,会把对象本身当做第一个传入,传给self
    类中定义的函数,是绑定给对象使用的

    
    
  • 相关阅读:
    2020/11/4
    2020/11/10
    2020/11/12
    2020/11/5
    20201113 千锤百炼软工人
    20201112 千锤百炼软工人
    Java_swing_打开文件目录
    千锤百炼软工周报二
    9.29 课下动手动脑
    开学小测感想
  • 原文地址:https://www.cnblogs.com/leiyiming/p/9123717.html
Copyright © 2020-2023  润新知