• python中面向对象


    一、什么是面向对象

    '''
    - 面向对象是一种编程思想
    	- 注意:要站在全局的角度去设计
    	核心是“对象”二字,对象是“特征与技能的结合体”,基于该编程思想编写程序,需要如上帝一样创造,抽象出一个个类
    	- 优点:
    		扩展性强
    	- 缺点:
    		编写程序的复杂度比面向过程更高
    '''
    

    二、如何产生对象

    1、类和对象的关系

    '''
    现实生活中:先由一个个对象,总结出各对象之间的特征特点,抽象出一个类
    编程过程中:先定义一个类,再由类实例化产生一个对象
    - 对象指的是“特征与技能”的结合体
    - 类指的是对象之间“特征与技能”的结合体
    如 人类是一个抽象的类,而具体到某一个人,则就是人类实例化的对象。
    '''
    

    2、定义类的语法

    class 类名:
    	pass
    # 注意:类名一般用驼峰命名法命名
    

    三、类的实例化

    '''
    类的实例化:调用类的过程称之为类的实例化,产生的对象也可以称之为类的一个实例
    
    调用类产生对象的过程:
    	1、会产生一个空的对象的命名空间
    	2、会自动触发__init__,并且会将对象当作第一个参数传入
    	3、会将调用类括号内的参数一并传给__init__()
    '''
    

    四、查看类与对象的命名空间

    # 类.__dict__
    # 对象.__dict__
    

    五、类或对象的属性操作

    class People:
        country = 'China'
        def __init__(self, name, age, sex):
            print(self.__dict__)
            print(self)
            self.name = name
            self.age = age
            self.sex = sex
            print(self.__dict__)
    
        # 注意: 看到self就应该知道是对象本身
        def learn(self):
            print('learning....')
    
            
    p_obj = People('yyh',18,'male')
    '''
    类和对象都可以直接通过直接访问的方式来对属性进行 查、增、删、改 的操作
    '''
    People.country
    p_obj.country
    p_obj.name
    

    六、类中数据属性(类中的变量):类中属性是给对象使用的,对象引用类中的属性,指向的都是类的内存地址

    # p_obj1 = People('tank', 17, 'male')
    # p_obj2 = People('jason', 71, 'female')
    # p_obj3 = People('大饼', 72, 'female')
    # print(p_obj1.country, id(p_obj1.country))
    # print(p_obj2.country, id(p_obj2.country))
    # print(p_obj3.country, id(p_obj3.country))
    
    

    七、类中的方法

    # 类中的方法是给对象使用的
    # 不同的对象调用方法就会将方法绑定给不同的对象,并且会将对象当作第一个参数传入,称为类的绑定方法
    # print(People.learn)
    # print(p_obj1.learn)  # bound method
    # print(p_obj2.learn)
    # print(p_obj3.learn)
    

    八、对象属性的查找顺序

    # 先从对象自己名称空间中查找,然后从类的名称空间中查找。
    # 找不到则报错
    
  • 相关阅读:
    Asp.net MVC3
    ASP.NET 路由实现页面静态化(附在线Demo和Source)
    ASP.NET MVC中Unobtrusive Ajax的妙用
    ASP.NET MVC Controller激活系统详解:IoC的应用[上篇]
    探讨大数据量处理
    提高ASP.NET性能与可伸缩性的几个个常用方法剖析
    Winform 应用
    C#利用QrCode.Net生成二维码
    MS SQL删除大数据
    由浅入深:自己动手开发模板引擎——置换型模板引擎1
  • 原文地址:https://www.cnblogs.com/Ghostant/p/11933847.html
Copyright © 2020-2023  润新知