小白浅谈面向对象

1.面向过程解决问题的思路是:首先把该问题分为好多个步骤,然后一步一步  逐渐完成该问题。面向对象解决问题的思路是:首先把问题分解为各个对象,然后分别完成每个对象的任务,最后建立各个对象之间的关系,及“搭建桥梁,整合对象”解决最终问题。
“面向对象的本质是以类的方式组织代码,以对象的方式组织数据”
eg:以生活中下五子棋为例分别用面向过程 面向对象解决:
    面向过程:1开始游戏-》2黑方先走-》把黑棋子放在棋盘上-》判断输赢-》
         3白方先走-》把白棋子放在棋盘上-》判断输赢-》返回步骤 2....直至游戏结束
    面向对象:把整个游戏分为三个模块 1.class黑白玩家 2.class棋盘
     3.class输赢抉择 它们各自封装好自己的功能和属性
     游戏开始分别实例化两个玩家对象将他们的“颜色”属性分别设置为黑色、白色-》2.接着调用黑色玩家的“下棋”方法--》棋盘更新,判输赢--》接着调用白色玩家的“下棋”方法--》棋盘更新,判输赢...直至游戏结束
优缺点:
  面向对象
 缺点:由于面向对象在调用类时需要实例化,说白了就是分配内存空间,资源消耗比较大,进而性能比较差
 优点:易于维护->面向对象的一大特征就是模块化,一大块切成几小块,“分而治之”,每个模块都有独立的工作空间,互不干扰,改变其中 一个模块的内容,其他模块将不会发生改变 
    可扩充-->由于面向对象的一大特点--》继承,从而使面向对象编程从本质上支持扩充性,假定现在有一个具有某些属性和方法的类,在该类的基础上添加一    个属性或方法就会产生新的一个类。 
    代码重用-->由于功能和属性被封装为一个类后将会作为一个独立实体存在,在某个环节要用到这个类,直接调用即可。同样在继承时也体现了代码的复用,子类将会继承父类的所有公开的属性和方法。
面向过程
  优点:总而言之就一条主线,不用类的实例化,不用频繁的切换上下文,运行速度快,性能较好 例如:嵌入式开发 linux系统开发对性能要求比较高,一般     都采用面向过程开发
 缺点:相对面向对象,难以维护(牵一发而动全身),某个环节出了问题 需要从头至尾检查问题所在 代码不可重用  不可扩充
      
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值