Python-面向对象

118 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第2天,点击查看活动详情

1. 基本介绍

与面向对象相对的一个概念就是面向过程,面向对象与面向过程是两种不同的编程方式

如果需求简单,使用面向过程编程没有什么问题。但是需求复杂的话,会导致代码也变得很复杂。

所谓过程:

  • 过程是早期的一个编程概念
  • 过程类似于函数,只能执行,但是没有返回值
  • 函数不仅能执行,还可以返回结果(通过return返回一个结果)

2. 面向过程

面向过程(侧重于怎么做?):

  1. 把完成某一个需求的所有步骤从头到尾逐步实现
  2. 根据开发需求,将某些功能独立的代码封装成一个又一个函数
  3. 最后完成的代码,就是顺序地调用不同的函数

面向过程的基本特点:

  1. 注重步骤与过程,不注重职责分工
  2. 如果需求复杂,代码会变得很复杂
  3. 开发复杂项目,面向过程编程没有固定的套路,开发难度很大

3. 面向对象

面向对象(侧重于谁来做?):

  1. 在完成某一个需求时秒首先确定职责(职责就是要做的事情-方法)
  2. 根据职责确定不同的对象,在对象内部封装不同的方法(多个)
  3. 最后完成等代码,就是顺序地让不同对象调用不同的方法

由于明确了职责,很少出现不同对象之间相互调用方法。

相比于函数,面向对象就是更大的封装,根据职责在一个对象中封装多个方法。

功能独立的代码封装到方法内部,多个相关的方法封装到一个对象中。

面向对象的基本特点:

  1. 注重对象和职责,不同的对象承担不同的职责
  2. 更加适合应对复杂的需求变化,时专门应对复杂项目开发,提供的固定套路
  3. 需要在面向过程的基础上,再学习一些面向对象的语法