面向对象自己的见解

程序设计,总的经历了面向过程阶段,面向对象阶段,下面,记录一下,自己的理解,做一个记录:
面向过程,似乎就是一个个函数,一个个方法,这些方法用于解决某些需求,某些问题,所以,面向过程的程序设计中,程序粒度,程序的基本单元是方法;
面向对象,什么是面向对象,简单的理解里,面向对象,就是将现实世界的事物,(都是一些具体的事物)进行抽象,进行抽取,抽取共性,形成一个抽象的概念,面向对象的程序的基本单元是对象。一个老神棍说:万物皆对象。
1:
封装的出现,是为了保护程序内部的内容,不被外部看到,起到保护的作用,但是封装的死死的肯定是不行的,程序中的内容很明显是需要被外部访问的,封装的死死的,就没有意义了,
如何处理这个既想封装保护,又想可以被外部访问到封装内部的内容的矛盾呢,简单,当然是给封装预留一些和外部交流的通道,这是一种,在我看来非常了不起的设计,就想拆弹专家,穿着80公斤的拆弹服装,是为了保护自己,是为了防爆,但是他最重要的目的是拆弹,所以,必须有一个灵活的手指和清晰的视觉。封装,就可以实现这样的效果。
最简单的实现封装的方式,当然是通过setter,getter的方式来实现,将成员变量给private,设置public的setter,getter,来设置和取得这些变量,就实现了封装。
2:
继承的出现,继承结构的出现是为了扩展程序的功能,子类继承了父类,可以直接拥有父类的非私有的功能,然后再此基础上进一步扩展子类自己的功能,一方面,提高了代码复用性,一方面缩短了子类的代码量,简化了代码,精简了代码。
3:
多态,简而言之,就是一个对象的多种状态,这是一个最有趣的特性,我感觉,面向对象的最大得魅力似乎就在这个特性上面得到了展示。
多态,总的来说,可以分为两种,对象的多态和方法的重载。
很多人说方法的重载不算是多态,其实,寻根究底,其实也算是多态,多个方法拥有相同的名字,根据传入的参数的类型的不同,参数个数的不同,从而调用不同的方法,得到不同的结果,这不就是一种多态么。
对象的多态就有趣多了,后面用一个独立的帖子,专门说说这个东东。
在程序设计中,采用了封装集成多态特性的程序设计,就是面向对象的程序设计。这种设计更加符合人思考的方式,可以更高效的开发。
基于这三个特性,产了其他的一些概念,比如抽象类,接口,基于抽象类,接口,又产生了许多的优秀的设计模式等等的东西。
这一连串的优秀技术的出现,都是有原因的,—-需求,为了给现实世界的一个需求一个完美的解决方案,给了开发的更加方便,快捷,不断的推陈出新,
这让我不禁想到一句话:事物总是在矛盾中不断的成长。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值