zoukankan      html  css  js  c++  java
  • python全栈day15

    面向对象编程                              

    一.关键字class

    结构:

    class 类名():
        类型体

    内部的变量:静态属性,静态变量,静态字段
    内部的函数:函数,动态属性,方法

    class Person:
        role = 'person'    #静态属性
        language = '语言'
        sport = '直立行走'
        def eat(self):      #动态属性,也称为方法
            print('吃吃吃。。。。。')
        def run(self):
            print('跑跑跑。。。。')
    

      

    二.函数vs面向对象

      1.函数封装一个功能,类封装多个相关功能。
      2.面向对象抽象,它是一种思想,站在上帝的角度去理解他。
      3.面向对象程序可扩展,且对象都是独立的,既有耦合性又有差异性。

    三.类与对象的定义

      类:具有相同属性或者功能的一类实物。
      对象:对象是类的具体体现。


    四.类的操作

    1.查看类中的所有属性及方法:__dict__(可以查,不能增删改)
      现实情况下一般用__dict__就是查看类中的所有属性及方法,不进行其他操作。

    2.查看类中的某个,某些属性,某个方法,用万能的点(.),可以进行属性的增删改
      1)增:类名.新增属性 = 值
      2)查:类名.属性
      3)改:类名.原属性 = 新值
      4)删:del 类名.属性

    3.执行某个方法
      1)不建议通过__dict__执行方法
      2)一般使用:类名.方法()

    插入点:特殊方法  __init__(self)
      类名加(),这个过程是一个实例化过程,他会实例化一个对象(他会在内存实例化一个对象内存空间)
      实例化过程进行三个阶段:
        1)在内存中开辟了一个对象空间,在空间内放置一个类对象指针
        2)自动执行类中__init__方法,并将对象空间的地址传给了__init__函数的self,其他参数手动传入
        3)执行__init__方法,给对象空间封装对应的属性
      总结:__init__()方法的功能就是给对象空间封装多个属性。


    五.对象的操作

    1.对象操作对象空间
      1)查看对象空间里的所有属性
        对象名.__dict__
      2)对象操作对象空间里的某个属性
      增:对象名.新属性 = 值
      删:del 对象名.属性名
      改:对象名.属性名 = 新值
      查:print(对象名.属性)
    2.对象操作类空间的属性
      只能查看类空间里的属性,只要改就等同于在对象中加一个属性。

    3.对象操作类空间的方法
      大多数情况下,都是对象去调用类中的方法。

    六.类名称空间,对象名称空间

    1.对象为什么能调用类空间里的属性?
      对象只能查看类中的属性,不能增删改类中的属性。因为在创建类对象时内部就有一个类对象指针,对象的内存空间会又指向类的空间。
    2.类能不能调用对象属性?    不能,类是模板是死的,对象是活的。
    3.对象能不能调用其他对象的属性?
      不能,同一个类实例化出来的对象之间是不能相互访问的;不同类实例化的对象有可能互相访问。

    给一个对象增加属性,可以在任意位置增加。

  • 相关阅读:
    浏览器的reflow和repaint
    javascript正则表达式中参数g的作用
    InkCanvas 自由虚线笔画
    WPF 圆轮菜单的实现
    WPF实现化学式上下标
    install and use zookeeper C client API
    install and use boost::thread
    explicit instantiations in template class/function
    The science of programming
    how does vector work?
  • 原文地址:https://www.cnblogs.com/abner28/p/9526351.html
Copyright © 2011-2022 走看看