活动地址:CSDN21天学习挑战赛
C语言是一门面向过程开发的语言。面向过程是指根据业务,按顺序一次编写代码,遇到需要重用的代码,就封装为函数或方法。在早期,大多数开发者使用C语言编程,设计的程序就是面向过程的。后来出现了C++、Java、C#等高级的,面向对象开发的语言,开发者进而开始设计面向对象的程序。
面向过程设计是将事物发展过程用程序表达出来,强调的是过程化思想;而面向对象不同,强调的是模块化思想。
一、什么是面向对象编程
面向对象的基本思想是,任何事物都是对象,这些对象都是该类别的一个实例。每个对象都是一个确定的类型,并拥有该类型的所有特征和行为。对于更复杂的对象,还可以由多个对象嵌套而成,也可以从不同类别继承而来。
面对对象有三大特征和行为:封装、继承、多态。
(1)封装:对事物的抽象,表现形式上是将其定义成类(Python中的关键词是class),类包含了该事物的特征和行为。注意,类是对一类事物的封装,是一个宽泛的概念。
(2)继承:对封装的扩展,当新的类别具备现有类别的特征和行为,并且还有更多属于自身的特点,那么一般认为新类别是现有类别的一种子类别,现有类别成为父类别,在程序设计上使用继承来体现父子关系。
(3)多态:子类别虽与父类别有相同行为,但是表现形式不同。
面向对象的程序设计流程大致如下。
(1)确定一个事物的类别,分析类别的特征和行为,封装成类。
(2)对于业务中有多个事物,需要分析事物之间的共性,确定继承关系。
(3)若是不同事物之间存在依赖,就还需要设计类之间的通信方式。
二、类和对象的关系
类是对一类事物的抽象描述,如图
水果类是一个大类,而下面的苹果、葡萄等则分为小类 ,而苹果中80%的水分、60%的糖分等则是苹果的特征,成为对象的属性。将属性和行为抽象出来,封装成类的过程,就是面对对象设计的过程。