黑马程序员--Java入门之面向对象的理解
来源:互联网 发布:centos7 mysql登陆 编辑:程序博客网 时间:2024/04/29 10:29
面向对象是什么?为什么要面向对象?面向对象能带来什么好处呢?面向对象就是万能的吗?
带着这些疑问我们一起走进面向对象的大门!
我们切不说面向对象的三大特征(封装、继承、多肽),举个例子,如果你是大学生,想想你们宿舍的模样,是不是第一反应就是一个字“乱”?是不是墙角下一个垃圾桶,但是却很少看见它的模样,平时垃圾都堆满了,桌子上,床底下一大堆没写名字的书,平时都随手拿去上课,勉强找个地方放个电脑,而电脑旁边却是林立的水杯、营养快线瓶子、方便面袋子和碗筷等等。为了体现人口密集地区的特点,决定采取占天不占地的方式在墙上粘满了挂钩,挂着一堆衣服平时靠着玩游戏好像坐在沙发上一样舒服!不管是睡的时候还是白天没人,被子永远是蜷缩成一卷一卷的像只蠕虫,有时候下面的人跟上面的人说半天话都没反应,气冲冲的掀开被子一看、没人。。。
不说那么多了,万一被误会就不好了。。。
再想想,如果把宿舍里面的东西都分类整整齐齐的摆放好,把书都写上名字,数据线充电器都贴上属于自己的标签,是不是想要什么就去什么地方要,永远不会错?数据线充电器再也不会拿错或是找不到了?记着自己笔记的书每次都能拿到?
是的,没错,面向对象也是类似,假如我们写一个类,那么类里面就会有它的方法和属性,比如鸟,它有身高体重、名字和颜色等属性,它有飞、走、吃等方法,我们需要它干什么只要调用一下就行了,只要名字写对,永远不会错搞,你也可以设置它的属性为private,这样没有定权限是不可能访问到它的属性的,我们就把这样被写成一个类的鸟称为封装。
而继承呢?鸟有无数种,但是他们功能和属性都不太一样,只是有些会走路会吃饭等共性而已,但是我们每次写一个鸟类时都要重新写一次它会走会吃饭?有了继承,我们直接继承之前的鸟,如果是喜鹊,我们可以为他增加飞的功能,但是鸵鸟就不会飞,所以都有所不同,这就是继承带来的好处。
而多太呢?如果我们在写一个处理用户查询数据库的函数,有时候用户输入一个关键字,有时候输入多个关键字,那我们就要写多个对应关键字个数的参数个数的函数吗?这样名字就会特别多,而多态就能解决这个问题,我们可以对函数进行重载,这样就可以同一个名字可以接受不同参数的函数,并执行不同的功能。这样,函数名字少了,程序的可读性就提高了。
像这样,程序里面有类分类,有条有理,不管程序是多么的庞大,都可以很快的上手,易于读写。这就是面向对象带来的好处之一。
但是也有不好的方面,比如说,一个的功能实现可能几句代码就能解决,但是却要写很多把它封装起来,这样,如果太多了,那么程序运行起来就会慢很多,效率也就降低了。也增加了系统的开销,有些在速度和效率上有要求特别高的程序就不能用面向对象的方式去编写,虽然用面向过程的方式去编写,维护起来不太容易,但是也必须这么去做。
所以凡事都有优缺点,就看怎么衡量了。
- 黑马程序员--Java入门之面向对象的理解
- 黑马程序员--java面向对象的理解
- 黑马程序员--理解JAVA面向对象
- 黑马程序员--Java面向对象理解
- 黑马程序员java学习日记九 面向对象的理解
- 黑马程序员——Java基础之面向对象的相关概念及个人理解
- 黑马程序员:我理解的面向对象
- 黑马程序员----------------------面向对象的理解
- 黑马程序员_面向对象的理解
- 黑马程序员_java 面向对象的理解
- 黑马程序员--Java之面向对象的概述02
- 黑马程序员--java面向对象之this的作用总结
- 黑马程序员之面向对象的三大特性(JAVA)
- 黑马程序员----JAVA基础之面向对象
- 黑马程序员-java学习之面向对象
- 黑马程序员-JAVA面向对象之继承
- 黑马程序员----java之面向对象(上)
- 黑马程序员----java之面向对象(下)
- Web基础架构:负载均衡和LVS
- Linux进入单用户模式
- sql 联合查询
- UVA 3942 Remember the Word
- 互联网高手教你如何搜集你想要的信息
- 黑马程序员--Java入门之面向对象的理解
- 批量添加用户shell脚本详解
- Mysql,SqlServer,Oracle主键自动增长的设置
- 1.CCProgressTo进度动作,条形进度条,扇形进度条
- Android在OnCreate中获取控件的宽度和高度
- 开源项目网址
- Eclipse 上 spring 插件安装
- strcpy的源代码编写
- the last day in Beijing