• 面向对象初识


    面向过程式编程:

    1.重复代码多

    2.可读性差

    函数式编程:

    1.重复代码少

    2.可读性强

    面向对象:

    1.类是一组具有相似功能的集合,使代码的组织结构更加清晰和规范化

    2.要具有上帝的思维,用面向对象设计程序,类是一个公共模板,对象去操作使用这个模板

    类是具有相似功能和属性的一类事物

    类的结构:

    class 类名(首字母大写):

      第一部分:静态属性(属性,变量,静态字段)

      第二部分:动态属性(方法,函数)

    class Human:
        mind = '有思想'                     #静态属性
        language = '语言'
        shape_list = ['四肢','五官']
        def work(self):                      #方法
            print('工作')
        def eat(self):
            print('吃饭')

    从类名的角度进行操作:

     1.查看类中的所有内容

      print(类名.__dict__)    以字典的形式返回

    2.万能的点  .   

    Human.emotion = '有情感'            #
    del Human.language                 #
    Human.mind = '无脑的'               #
    print(Human.shape_list)            #

    3.代码中除去静态方法和类方法,一般不用类名去执行类中的方法

    对象

    类的具体体现,具体到一个对象

    类名()    实例化过程,产生一个对象

    class Human:
        mind = '有思想'                   
        language = '语言'
        shape_list = ['四肢','五官']
        def __init__(self,name,sex,age):
            self.n = name
            self.s = sex
            self.a = age
        def work(self):                   
            print('工作')
        def eat(self):
            print('吃饭')
    obj = Human('alex','',18)     #实例化对象            
    print(obj.__dict__)

    实例化对象发生三步:

    1.在内存中开辟一个对象空间

    2.自动执行__init__方法,并将对象空间传给self

    3.执行__init__的代码,给对象空间封装属性

    从对象的角度操作类:

    1.对象查看对象空间的所有属性

      print(obj.__dict__)  

    2.对象操作对象空间的属性--万能的点  .

    obj.h = 180                 #
    del obj.n                   #
    obj.s = ''                 #
    print(obj.a)                #

     3.对象查看类中的静态属性,注意只能查看

    print(obj.mind)

    4.对象调用类中的方法,就会将对象空间自动传给方法的第一个参数self

    补充:

    self :类中的所有方法(类方法,静态方法)的第一个参数,都会默认接收对象空间,所以为了方便和区分,把第一个参数约定俗成为self

    一个类可以实例化多个对象

  • 相关阅读:
    关于html元素Css样式设置的一点心得(特别是与位置有关的,还有外边距、内边距有关的那些)
    【idea的一个安装细节】是不是使用idea不能连接网络了?
    html中a标签属性parent和self的举例说明
    关于jquery的each的操作;
    superagent中文文档
    mongoose 查询子文档的方法
    Object.prototype.toString.call()进行类型判断
    局部函数的直接引用与调用
    数据模型中某个字段是单选或者多选的定义方式;
    nodejs项目中的路由写法
  • 原文地址:https://www.cnblogs.com/sandy-123/p/10314885.html
Copyright © 2020-2023  润新知