黑马程序员技术交流社区

标题: Java面向对象 [打印本页]

作者: Enhon1992    时间: 2015-6-7 08:56
标题: Java面向对象
Java是一种面向对象的程序设计语言,Java中的一切都是按照面向对象的思想来设计的。Java中类和对象 就体现了面向对象的思想。“动物”就是是类,而一只具体的动物比如:“小黄”就是“动物”这个类的对象,也叫这个类的一个实例。类是抽象的,对象是具体的,一个类可以有多个对象。
面向对象就是一种符合人们思维习惯的常见的思维方式,它可以将复杂的问题问题简单化。比如:你现在的需求是 要去中关村买一台电脑,这就要求你自己懂电脑,了解电脑中的各个硬件比如:主板,内存,显卡 ,声卡,显示器 等等,然后再去中关村挑选各个部件,非常麻烦;现在你自己是既不懂电脑,又想说你省去那个去挑选各个部件的过程,这时只需要你找一位懂电脑的人,让他去帮你去买一台电脑。这样自己就可以省去很多的麻烦,这就将一个复杂的问题简单化了。另外面向对象,让以前在过程中的执行者变成了指挥者,比如,上面那个买电脑的例子,需要买电脑的人就由开始什么都需要自己动手的执行者变成了最后指挥他人的指挥者。
面向对象的三个特征: 封装,继承,多态
封装:封装指的是隐藏对象的属性和具体的实现细节,对外提供公共的访问方式。
好处:便于使用,提高重用性,提高安全性;
例子:Java的函数就是一个封装体,我们在调用函数的时候,只需要知道这个函数能干什么,而无需知道这个函数里面具体是怎么实现的。

继承:子类继承自父类,子类可以拥有父类已有的数据属性和行为,并可以扩展新的能力。
好处:子类可以重父类那里继承一些属性,不需要子类再定义,提高了代码的复用性,减少了代码的书写
例子:先定义个Person类,在该类中定义了,姓名,性别,年龄,身高,体重,等等属性,然后定义一个Student类继承自这个Person类 再为Student类,给Student类定义一些特有的属性 学号,班级,专业,这时Student就在拥有自己特有属性的同时,可以拥有Person 的属性。

多态:某一种事物的多种存在形态。
好处:提高了代码的扩展性,前期定义的代码可以在后期使用。
例子: 猫  C=new 猫(); 动物  C=new 猫(); 同一个对象有两种表现形式(C即是猫也是动物)

我认为面向对象的出现并不是取代了面向过程,具体到代码中,还是需要我们自己去一行一行的去敲代码,去编写代码的具体实现,只是我们最后将这些具体的实现隐藏了起来。



作者: 海角秋风    时间: 2015-6-7 09:11
又学习了一遍。。。
作者: zlynnb2015    时间: 2015-6-7 10:22
很详细,不错啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2