面向过程编程&面向对象编程

面向过程编程

Procedure Oriented Programming

  • C语言是面向过程编程的,面向过程编程主要使用顺序、条件选择、循环三种基本结构来编写程序。

    • 顺序:按照时间轴顺序完成每个处理;
    • 条件选择:根据条件的成立与否执行不同的条件分支;
    • 循环:根据一定的条件反复执行同样的代码;
  • 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
    例如:洗衣机的洗衣功能:放水、洗涤、脱水、打干,按照一定的顺序执行功能:放水->洗涤->脱水->放水->洗涤->脱水->打干。

  • 在早期计算机配置低、内存小为了节省内存空间,大都采用面向过程编程(以时间换空间)。

面向对象编程

Object Oriented Programming
面向对象编程语言:Objective-C、C++、Java

  • 面向对象是一种编程方式,满足面向对象编程的语言,一般会提供类、封装、继承、多态等语法和概念来辅助我们进行面向对象编程。
    所谓的面向对象就是将我们的程序模块化、对象化,把具体事物的特性属性和通过这些属性来实现一些动作的具体方法封装到一个类里面,然后创建实例对象,以对象作为程序的基本模块来进行软件的分析、设计和开发的一种思考方法。

  • 面向对象的三大特征:继承、封装、多态

    1. 继承

    继承:A类继承B类,我们通常称A类为B类的子类,被继承的B类为A类的父类;实现继承后的子类自动拥有了父类的属性和方法,子类可以写自己特有的属性和方法,目的是实现类的功能扩展,子类也可以复写父类的方法:即方法的重写。

    2. 封装

    封装是指将数据与具体操作的实现代码放在某个对象内部,使这些代码的实现细节不被外界发现,外界只能通过接口使用该对象,而不能通过任何形式修改对象内部实现,正是由于封装机制,程序在使用某一对象时不需要关心该对象的数据结构细节及实现操作的方法。也就是说,用户无需知道对象内部方法的实现细节,但可以根据对象提供的外部接口(对象名和参数)访问该对象。

    3. 多态

    多态是面向对象编程中另一个突出的特征,所谓的多态是指在继承体系中,所有派生类都从基类继承接口,但由于每个派生类都是独立的实体,因此在接收同一消息的时候,可能会生成不同的响应。多态的作用作为隐藏代码实现细节,使得代码能够模块化;扩展代码模块,实现接口重用。简单来说:一种行为产生多种效果。

  • 封装的好处:
    使用封装能隐藏对象实现细节,使代码更易维护,同时因为不能直接调用、修改对象内部的私有信息,在一定程度上保证了系统安全性。
    实现了专业的分工。将能实现某一特定功能的代码封装成一个独立的实体后,各程序员可以在需要的时候调用,从而实现了专业的分工。
    隐藏信息,实现细节。通过控制访问权限可以将可以将不想让客户端程序员看到的信息隐藏起来,如某客户的银行的密码需要保密,只能对该客户开发权限。

总结

总的来说:封装可以隐藏实现细节同时包含私有成员,使得代码模块化并增加安全指数;继承则可以扩展已存在的模块,目的是为了代码重用;多态则是为了保证:类在继承和派生的时候,保证家谱中任何类的实例被正确调用,实现了接口重用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,588评论 25 709
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,839评论 18 399
  • 1.有一句话叫心无旁骛,我缺乏的正是这种专注的精神和力量。 2.一件事情,如果总喜欢纠结对与错,是幼稚的表现,事物...
    c1dd5a05d5c8阅读 75评论 0 1
  • 虽然今天是农历初二送年节日,我还是坚持平常的习惯,6点就早早起床了。一来是我觉得早晨的时光特别宝贵,我是晨型人,早...
    callme小公举阅读 667评论 0 49
  • 道和术分别是什么?我理解的一个是入世一个是出世。道,是注重内心心法的修炼,自然是出世的。而术更注重实用技巧的应用,...
    鸡仔说阅读 575评论 0 0