面向对象编程思想

面向对象

1.概念

面向对象:是将现实问题构建关系,然后抽象成类,给类定义属性和方法后,再将类实例化为实例,通过访问实例的属性解二调用方法来进行使用。

再python中“类”和“类的实例”都称为对象(python中一切皆对象),因为python的类是更顶级的type实例化后的对象。

2.理解面向对象

1.将功能封装进对象,强调具备了功能的对象

2.关注的是解决问题需要哪些对象

面向对象是相对面向过程而言;面向对象和面向过程都是一种编程思想

面向过程:自上而下顺序执行,逐步求精;其程序结构是按照功能划分为若干个基本模块,这些模块形成一个树状结构,每个模块之间的关系尽可能简单,在功能上相对独立;每个模块均是由顺序、选择和循环三种基本结构组成。程序流程在写程序时就已决定。

3.面向对象的优势

1.面向对象编程更加模块化,更加易于构建大型项目

2.面向对象编程有利于更新和维护,其简化了企业级的编程的协同问题

3.面向对象编程可以把项目做的更大,模块之间解耦,调用更简单

4.面向对象编程的要素

三要素:

继承:继承的主要目的就是实现方法的多态性和代码的可重用性

封装:封装就是把属性和方法封装到一个类中,通过方法来修改和执行业务,有利于后期的修改和维护

多态:多态是为了解决现实生活中的情况的多样性问题,根据不同的条件,做出对应的动作

其他要素:

类:创建一类具有相同特征的额对象的模板,是计算机当中相对于对象的抽象

对象:一切皆对象,凡是具有状态和行为的实体

属性:属性对应着对象的状态,是计算机中表示对象的状态的数据结构

方法:方法对应着对象的状态,是计算机中对对象的行为的一种抽象,是处理业务逻辑的关键所在

构造方法:构造方法是创建对象时所调用的方法

5.举个例子

创建一个学生类

class Student:
    """创建学生类"""

    number = 0    # 定义类属性

    def __init__(self, name, score):
        # 初始化方法,定义学生属性
        self.name = name
        self.score = score
        Student.number += 1
    
    def show(self):
        # 打印学生信息的方法
        print('name:%s, score:%s' % (self.name, self.score))

    # 定义类方法,打印学生的数量
    @classmethod
    def tital(self):
        print('tital:{}'.format(cls.number))

# 实例化,创建对象
student1 = Student('aaa', 100)
student2 = Student('bbb', 101)

Student.total()

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值