C语言是结构化编程,和面向对象编程 是不同风格。
结构化编程 基本方式是“功能分解法”,具体说 就是将要解决的实际问题 进行分解,把一个大问题分成若干子问题,每个子问题又可以分解为更小的问题,知道得到的子问题可以用一个函数来实现为止。
而面向对象编程 首先要将实际问题 抽象化 可以用一个模型 :
例如: 输入 :2个日期————>程序——————>输入 2个日期间的天数。
面向对象的程序有以下几个特点:
1.所有的函数都放入到一个类中 ,称为某个类的成员,类是编程的基本单元。
2外界不能直接调用类的成员函数,必须先创建一个对象,再通过对象来调用这些函数
3.只有声明为public的函数可以被外界调用,其余声明为private的函数是私有的,外界无法访问。
面向对象的核心概念
(1 )封装
封装的类=数据+对此数据所进行的操作(即算法)
通俗的说,封装就是:包起外界不必需要知道的东西,只向外界展露可供展示的东西。
(2)抽象
在使用面向对象的方法设计一个软件系统时,首先就要区分出现实世界的 事物所属的类型。
(3)继承
不是我们认为的遗传的继承, 而是包含的意思。
食品
水果 蔬菜
苹果 香蕉 土豆
重用已有代码而又不破坏已有代码。
(4)多态
基类拥有的特性,子类一定有,
用抽象的类编程 。
2 类与对象
类是面向对象编程的 基本单元。(一切皆为对象 )
只有声明为public的变量和函数可以被外界调用,其余声明为private的变量和函数是私有的,只能由自己的类使用。