Java面向对象编程思想
- 格式:pdf
- 大小:226.83 KB
- 文档页数:12
第一章概述
版权声明
此文档由王健旭( ginger547@)负责整理总结,并对该文档保有有限责任权利,此文档只能用于学习以及教学,请勿用作商业用途,因此而
产生的法律问题,本人一概不负责。本人声明,此文档资料为本人教学经验和网络资料收集合并之成果,如果在文档中引用了您的资料,而引起了侵犯您的权益的话,可以发送邮件知会,本人必定删除为是。
注:阅读此文档,不需要你是使用Java 的高手,但是已经假设你有了一定的Java 技术的基础。
JDK---JavaDevelopmentKittool
JRE – Java Runtime Enverionment
Path why:让系统通过读取path中的路径得到javac 和java所在的路径,从而执行
面向对象技术自上世纪60年代诞生以来已走过了40多年的历程。现在流行的开发工具、开发过程无不以面向对象技术为基础,可见面向对象技术的重要性。
基于类的面向对象语言是面向对象世界里的主流。它包括:
Simula, 第一个面向对象语言
Smalltalk, 第一个支持动态类型的语言
C++, 它的大部分基于类的特性继承自Simula.
等等等等。
与基于类的语言相对应的是基于对象的面向对象语言。这里“基于对象”的概念和把Visual Basic叫做基于对象的概念是不同的。这里的“基于对象”是指一个只以对象为中心,没有类的概念的语言,类似Python之类的语言。
Java语言作为一门“全面”面向对象的编程语言,提供了面向对象的四种基本性质:抽象性、封装性、继承性和多态性。
面向对象主要有四大特性:封装、抽象、继承和多态。各自定义:
抽象(abstraction):抽象就是将一类实体的共同特性抽象出来,封装在一个新的概念(类)中,所以抽象是面向对象语言的基础。比如鸟就是一个对象,但是我们在研究这个对象的时候把它的一些同类放到一起,一起来考虑,而且抽象的时候,只考虑我们感兴趣的一些数据;假设你自己是一个普通人,那么你可能关心的数据是,鸟类飞行的方法,鸟类吃东西的方法;假设你自己是一个生物专家,那么你可能关心的数据时,鸟类的体重,鸟类的爪子的大小,鸟类的食量等等。
人们通过抽象处理复杂性。例如,人们不会把一辆汽车想象成由几万个互相独立的部分所组成的一套装置,而是把汽车想成一个具有自己独特行为的对象。这种抽象使人们可以很容易地将一辆汽车开到杂货店,而不会因组成汽车各部分零件过于复杂而不知所措。他们可以忽略引擎、传动及刹车系统的工作细节,将汽车作为一个整体来加以利用。
上帝造人:
封装(Encapsulation ):在面向对象语言中,封装特性是由类来体现的,我们将现实生活中的一类实体定义成类,其中包括属性和行为(在Java中就是方法),就好像人类,可以具有name,sex,age等属性,同时也具有eat(),sleep()等行为,我们在行为中实现一定的功能,也可操作属性,这是面向对象的封装特性;
封装是将代码及其处理的数据绑定在一起的一种编程机制,该机制保证了程序和数据都不受外部干扰且不被误用。理解封装性的一个方法就是把它想成一个黑匣子,它可以阻止在外部定义的代码随意访问内部代码和数据。对黑匣子内代码和数据的访问通过一个适当定义的接口严格控制。
继承(Inheritance ):继承就像是我们现实生活中的父子关系,儿子可以遗传父亲的一些特性,在面向对象语言中,就是一个类可以继承另一个类的一些特性,从而可以代码重用,其实继承体现的是is-a关系,父类同子类在本质上还是一类实体;
继承是一个对象获得另一个对象的属性的过程。继承很重要,因为它支持了按层分类的概念。例如,尊贵的猎犬是狗类的一部分,狗又是哺乳动物类的一部分,哺乳动物类又是动物类的一部分。如果不使用层级的概念,我们就不得不分别定义每个动物的所有属性。使用了继承,一个对象就只需定义使它在所属类中独一无二的属性即可,因为它可以从它的父类那儿继承所有的通用属性。所以,可以这样说,正是继承机制使一个对象成为一个更具通用类的一个特定实例成为可能。
可复用可维护性可扩展性
多态:多态性(Polymorphism ,来自于希腊语,表示“多种形态”)是允许一个接口被多个同类动作使用的特性,具体使用哪个动作与应用场合有关。多态就是通过传递给父类对象引用不同的子类对象从而表现出不同的行为,多态可为程序提供更好的可扩展性,同样也可以代码重用。
多态的表现:1.父子类重写。2.抽象类指向具体类3.接口指向实现类
水:液态水气态固态
C:金刚石石墨
龙生9子,9子各不同
龙生龙凤生凤
老鼠的孩子会打洞
第二章类和对象
A.万物皆对象everything is an object
B.对象由表示状态的属性和表示行为的方法组成
C.类是具有相同属性和方法的多个对象的集合
D.对象是类的一个实例
E.类是一种逻辑结构,而对象是真正存在的物理实体。
F.在Java 中,我们可以定义类,然后创建类的对象。
G.对象和对象之间可能存在整体部分、关联关系,类和类之间可能存在继承关系。
用一个例子给你说明一下:
比如“人类”就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象,而“名字、年龄”等信息就是对象的属性,人的动作比如“吃饭、穿衣”等就是对象的方法。总之类就是有相同特征的事物的集合,而对象就是类的一个具体实例。同时类有多态和继承,例如“人类”可以分为“男人、女人”,“老人、小孩”那么“男人、女人”就是“人类”的子类等等。
例如:
// 声明一个类“Human”
class Human{
private String name;
public String getName(){
return name;
}
public void setName(String value){
= value;
}