Day7-编程基础篇Python第六章(面向对象编程1)

1. 面向对象和面向过程的区别

        (1)面向对象:“设计者”思维,更加关注的是“软件中对象之间的关系”,适合编写大规模程序。

        (2)面向过程:“执行者”思维,更加关注的是“程序的逻辑流程”,适合编写小规模程序。
        注:面向对象和面向过程是相辅相成的

2. 类与实例

        (1)概念       

       类是一组变量(属性/状态)和函数(方法/行为)的封装体,拥有相同(或者类似)属性和⾏为的对象都可以抽像出⼀个类,属性(即变量)用来描述数据,方法(即函数)用来描述这些数据相关的操作。创造这样的封装体便是实例化。每个实例都拥有相同的类变量和类函数,但其变量值是各自独立的。

        (2)语法格式:
                class 类名:
                        类体

3.类与对象

        从一个类创建对象时,就是⽤⼀个模板,来制造⼀个实物。每个对象会共享这个类的函数(类中定义的方法),但会有自己的变量值(不共享属性)。更具体一点:“方法代码是共享的,属性数据不共享”。

        (1)实例属性
                实例属性一般在__init__()方法中通过如下代码定义:
                        self.实例属性名 = 初始值

                创建实例对象后,通过实例对象访问:
                        obj01 = 类名()                 #创建对象,调用__init__()初始化属性
                        obj01.实例属性名 = 值    #可以给已有属性赋值,也可以新加属性

注:定义构造函数__init__()方法。

        构造方法用于执行“实例对象的初始化工作”,即对象创建后,初始化当前对象的相关属性,无返回值。

        例:def __init__(self,x,y):
                       self.x = x         #实例属性
                       self.y = y

        注: 第一个参数固定,必须为:self。 self 指的就是刚刚创建好的实例对象。                

        (2)实例方法
       实例方法的定义格式如下:
                def 方法名(self [, 形参列表]):
                        函数体
       实例方法的调用格式如下:
                对象.方法名([实参列表])

        注:调用实例方法时,不需要也不能给 self 传参。self 由解释器自动传参

        (3)类属性

        类属性的定义方式:
                class 类名:
                        类变量名= 初始值
        
注:在类中或者类的外面,我们可以通过:“类名.类变量名”来读写。

        (4)类方法

        类方法的定义方式:
                @classmethod
                 def 类方法名(cls [,形参列表]) :
                        函数体

        注:第一个 cls 必须有;cls 指的就是“类对象”本身;参数列表中,不需要也不能给 cls 传
值。类方法中访问实例属性和实例方法会导致错误。

        (5)内存分析

注:1. 类名首字母大写,多个单词之间采用驼峰原则。
       2. 实例名、模块名采用小写,多个单词之间采用下划线隔开。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值