黑马程序员--Java入门之面向对象的理解

来源:互联网 发布:centos7 mysql登陆 编辑:程序博客网 时间:2024/04/29 10:29

    面向对象是什么?为什么要面向对象?面向对象能带来什么好处呢?面向对象就是万能的吗?

   带着这些疑问我们一起走进面向对象的大门!

   我们切不说面向对象的三大特征(封装、继承、多肽),举个例子,如果你是大学生,想想你们宿舍的模样,是不是第一反应就是一个字“乱”?是不是墙角下一个垃圾桶,但是却很少看见它的模样,平时垃圾都堆满了,桌子上,床底下一大堆没写名字的书,平时都随手拿去上课,勉强找个地方放个电脑,而电脑旁边却是林立的水杯、营养快线瓶子、方便面袋子和碗筷等等。为了体现人口密集地区的特点,决定采取占天不占地的方式在墙上粘满了挂钩,挂着一堆衣服平时靠着玩游戏好像坐在沙发上一样舒服!不管是睡的时候还是白天没人,被子永远是蜷缩成一卷一卷的像只蠕虫,有时候下面的人跟上面的人说半天话都没反应,气冲冲的掀开被子一看、没人。。。

   不说那么多了,万一被误会就不好了。。。

   再想想,如果把宿舍里面的东西都分类整整齐齐的摆放好,把书都写上名字,数据线充电器都贴上属于自己的标签,是不是想要什么就去什么地方要,永远不会错?数据线充电器再也不会拿错或是找不到了?记着自己笔记的书每次都能拿到?

   是的,没错,面向对象也是类似,假如我们写一个类,那么类里面就会有它的方法和属性,比如鸟,它有身高体重、名字和颜色等属性,它有飞、走、吃等方法,我们需要它干什么只要调用一下就行了,只要名字写对,永远不会错搞,你也可以设置它的属性为private,这样没有定权限是不可能访问到它的属性的,我们就把这样被写成一个类的鸟称为封装。

   而继承呢?鸟有无数种,但是他们功能和属性都不太一样,只是有些会走路会吃饭等共性而已,但是我们每次写一个鸟类时都要重新写一次它会走会吃饭?有了继承,我们直接继承之前的鸟,如果是喜鹊,我们可以为他增加飞的功能,但是鸵鸟就不会飞,所以都有所不同,这就是继承带来的好处。

   而多太呢?如果我们在写一个处理用户查询数据库的函数,有时候用户输入一个关键字,有时候输入多个关键字,那我们就要写多个对应关键字个数的参数个数的函数吗?这样名字就会特别多,而多态就能解决这个问题,我们可以对函数进行重载,这样就可以同一个名字可以接受不同参数的函数,并执行不同的功能。这样,函数名字少了,程序的可读性就提高了。

   像这样,程序里面有类分类,有条有理,不管程序是多么的庞大,都可以很快的上手,易于读写。这就是面向对象带来的好处之一。

   但是也有不好的方面,比如说,一个的功能实现可能几句代码就能解决,但是却要写很多把它封装起来,这样,如果太多了,那么程序运行起来就会慢很多,效率也就降低了。也增加了系统的开销,有些在速度和效率上有要求特别高的程序就不能用面向对象的方式去编写,虽然用面向过程的方式去编写,维护起来不太容易,但是也必须这么去做。

    所以凡事都有优缺点,就看怎么衡量了。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宝宝喜欢打人怎么办2岁 1岁宝宝动手打人怎么办 孩子总打人总哭怎么办 小孩出现夜惊家人怎么办 小孩不原跟家人沟通怎么办 孩子字写得难看怎么办 孩子上一年级不认识字怎么办 二年级孩子语文差怎么办 孩子二年级语文成绩差怎么办 孩子小学二年级语文差怎么办 二年级孩子语文理解能力差怎么办 深圳租房被坑了怎么办 小鸣单车押金退不了怎么办 联想台式一体机忘记密码怎么办 ps直线工具变成箭头了怎么办 笔记本图形处理速度慢怎么办 微信语音发不出去怎么办 ps里的图层锁定怎么办 ps图层丢失了怎么办 PS标题画面太小怎么办 轮胎蹭掉一块皮怎么办 吃香蕉吃的胃难受怎么办 qq糖卡在喉咙里怎么办 头发上粘到了qq糖怎么办 老房子土墙掉土怎么办 速写画的太慢怎么办 艺术生文化课没过线怎么办 5岁儿童坐飞机忘带证件怎么办 儿童坐飞机没带证件怎么办 儿童坐飞机没带户口本怎么办 儿童坐飞机没有带户口本怎么办 刚打蜡的车下雨怎么办 飞机票不能退票不能改签怎么办 深圳航空买机票姓名错了怎么办 大众cc打不着火怎么办 手上扎了仙人掌刺怎么办 pscs5界面字体太小怎么办 儿童做飞机没带户口本怎么办 黑户口想做飞机怎么办 宝宝坐飞机忘记带证件怎么办 值机柜台关闭了怎么办