------- android培训、java培训、期待与您交流! ----------
Java是一种纯粹面向对象的程序设计语言。
乍一看这句话很抽象,什么是面向对象呢?通过老师的讲解和自己的理解,本文综合的讲解下什么是面向对象以及面向对象有什么特征。
面向对象是相对于面向过程而言的,面向过程和面向对象都是一种思想。
面向过程强调的是每一个功能的步骤;而面向对象强调的是对象,然后由对象去调用功能。
例如,我要买电脑。
面向过程的做法就是,我先了解电脑-->配合我自己的需求-->找对应的参数信息-->去卖电脑的地方-->听导购介绍-->讨价还价-->电脑抱回家。
面向对象的做法就是,我要买电脑-->我认识一个懂电脑又会讨价还价的朋友,交给他-->朋友帮我把电脑抱回家。
再例如,我要洗衣服。
面向过程的做法就是,把衣服脱下来-->拿个盆子-->加入水-->放点洗衣粉-->把衣服放进去-->揉一揉搓一搓-->再清洗衣服-->拧干-->晾起来。
面向对象的做法就是,把衣服脱下来-->打开全自动洗衣机-->把衣服扔进去-->一键启动-->晾起来。
通过上面的例子可以知道面向对象就是将一些功能封装到对象里面,我们用这个对象去调用需要的功能。比如上面两个例子中的“我的朋友”和“洗衣机”就是对象,而“我的朋友”封装了“懂电脑”,“会讨价还价”等功能,“洗衣机”封装了“会洗衣服”等功能。如果你连把衣服扔进洗衣机都嫌麻烦的话,可以将洗衣服这个整体的流程封装成一个对象,比如女朋友,到时候要洗衣服直接对女朋友说一声“我要洗衣服”,就可以了。
由上可见,面向对象的思想更符合我们的思想习惯,可以将复杂的事情简单化,将我们从执行者变成了指挥者。
我们怎样才能在java语言中利用面向对象思想呢?
那么我们就不得来说一说对象了。
其实对象在我们的生活中是普遍存在的,如果是一位有经历的程序员,可以毫不夸张的说是是万物皆为对象。比如上面两个例子中的“我的朋友”和“洗衣机”;
我们学习编程语言就是为了模拟现实世界的事物。现实世界是怎么描述事物的呢?
比如手机,它有颜色,内存,大小等属性,又有打电话,发短信,玩游戏等功能。
比如学生,有姓名,年龄,性别等属性,又有吃饭,睡觉,学习等功能。
可见一般描述事物主要是由两个方面,一个是属性,即该事物的基本信息,另一种是功能,即该事物能够做什么。
而java语言最基本的单位是:类。
既然java语言是和现实中的事物相对应的,我们就得到了现实世界事物和类的对应关系:对事物的描述就对应了java中class定义的类。
事物的属性就对应了类中的成员变量;事物的功能就对应了类中的成员方法。
而对象就是这类事物中实实在在存在的个体。
综上我们可以知道:
类:就是一组相关的属性和行为的集合,是一个抽象的概念。
对象:就是该类的具体表现形式,具体存在的个体。
例如,学生是一个类,班长就是这个类中一个实实在在的个体,班长就是一个对象。手机是一个类,具体到我用的手机,就是一个对象。
综上可知,我们在java中利用面向对象思想其实就是一个找对象的过程。没有对象就创建对象,再使用对象,只会对象做事情。就如懒得懒得洗衣服就买个洗衣机找个女朋友的道理一样。
Java的开发就是找对象,创建对象,调用对象的功能。
面向对象设计其实就是管理和维护对象之间的关系。
下面就通过一个例子说明java中是怎样创建对象,和调用对象的功能的。
例如 老师就是一个类,具有姓名,性别,年龄等属性,有吃饭,睡觉,讲课等行为(功能)。下面就创建一个老师类。
classTeacher{
Stringname;//姓名属性
Stringsex;//性别属性
Intage;//年龄属性
//吃饭行为
voideat(){
System.out.println(“eat”);
}
//睡觉行为
voidsleep(){
System.out.println(“sleep”);
}
//讲课功能
voidprelect(){
System.out.println(“prelect”);
}
}
创建了类以后,我们可以创建这个类的具体对象:Teacher T = new Teacher();
然后可以调用这个对象的讲课功能:T.prelect();
关于面向对象的特征将会在下面的文章中提到。