面向对象程序设计

本文详细介绍了面向对象程序设计的概念、优点与应用场景。接着讲解了类与对象的定义,包括类的声明、实例化和对象的引用。进一步讨论了继承与派生,包括继承的定义、抽象、继承的重要性以及多态性。还提到了接口与归一化设计,强调了接口继承的意义和使用接口的好处。最后,详细阐述了封装的原理和实现,以及绑定方法与非绑定方法的区别。
摘要由CSDN通过智能技术生成

一. 定义及优点

面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。
优点是:极大的降低了程序的复杂度
缺点是:一套流水线或者流程就是用来解决一个问题,生产汽水的流水线无法生产汽车,即便是能,也得是大改,改一个组件,牵一发而动全身。
应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Apache HTTP Server等。

面向对象的程序设计的核心是对象(上帝式思维)
优点是:解决了程序的扩展性。对某一个对象单独修改,会立刻反映到整个体系中。
缺点:可控性差,无法向面向过程的程序设计流水线式的可以很精准的预测问题的处理流程与结果,面向对象的程序一旦开始就由对象之间的交互解决问题,无法预测最终结果。
应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等。
面向对象的程序设计并不是全部。对于一个软件质量来说,面向对象的程序设计只是用来解决扩展性。

二. 类与对象

1. 定义

python中一切皆为对象,且python3统一了类与类型的概念,类型就是类
特征与技能的结合体就是一个对象。从一组对象中提取相似的部分就是类,类是所有对象都具有的特征和技能的结合体
在python中,用变量表示特征,用函数表示技能,因而类是变量与函数的结合体,对象是变量与方法(指向类的函数)的结合体

2. 类

(1) 类的声明

class 类名:   #类名一般首字母大写
    pass

(2) 类的引用
类有两种引用方式:属性引用和实例化
属性引用:类名.属性
实例化:类名()
类名加括号就是实例化,会自动触发__init__函数的运行,可以用它来为每个实例定制自己的特征。self的作用是在实例化时自动将对象/实例本身传给__init__的第一个参数,self可以是任意名字,但一般默认为self。

3. 对象

(1) 实例化
对象是关于类而实际存在的一个例子,即实例
(2) 引用
对象/实例只有一种引用:属性引用
(3) 特点
对象/实例本身只有数据属性,但是python的class机制会将类的函数绑定到对象上,称为对象的方法,或者叫绑定方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值