在学会Java的流程控制语句后,利用Eclipse的便利,你可能已经初步体验到编程的乐趣。但幸福总是那么短暂,很快你就会发现,自己可以利用的工具比较少,除了流程控制语句外,几乎额外的东西了。不,还有一大片天地在等你畅游呢。
本人不是编程专业出身,这里叙述OOP的基本概念,全是按照感觉走了。来吧,跟上我的感觉!
什么是OOP?
OOP,即是面象对象的编程,是与结构化编程相对的编程方式。不了解结构化编程也无碍。简单地看下周遭的世界,你就能找到点OOP的特质。
一辆汽车,有轮子、发动机等基本设备,可以行驶的基本功能。作为使用者,我们无需知道汽车的具体构造细节,只要知道如何操作方向盘,让汽车行驶就可以了。
也即是,要达到目标,我们只要获得某一物体,知道如何使用他就可以,无须关注具体的实现细节。
再比如,要组装一辆汽车,需要很多很多的零件,而这些零件呢,都具有一定的规格,能完成某一具体的功能。比如发动机产生动力,刹车片用来制动等等。各个零件相互组合来完成更大的目标,这些零件就是要研究的具体的单元。
上面的例子中,汽车是我们要达到旅行目的所需要使用的单元,发动机、刹车片等是我们要组装一辆汽车需要的单元。在使用过程中,我们只关注单元的规格、单元的能力,而不关心单元具体的运作细节。这些单元,在编程世界里,就可以抽象为类,即有一定属性、一定行为的类。
类的组成
假如要定义一个人,类的名称叫Human,有姓名(这是属性),会说话(这是行为)。在Java定义如下:
public class Human{ // Human即是类的名字
String name;// 这是定义属性
// 这是定义行为
public void speack(String words){
System.out.println(words);
}
}
这样,一个简单的类就定义好了。这个类还不完善,在后续过程中再完善。
类与对象
类与对象的关系,就像人与乔布斯的关系。类是统称,对象是类的某一个具体个体。一个类可以有很多对象,但是对象之间是如何区别的呢?
这就要谈到属性的重要性了!
属性标识对象的状态,如某个人的年龄、性别等,属性也可以标识对象的唯一性,如人的身份证号。
从类创建对象的过程,称为 实例化。Java编程语言中是这样的:
Human zhangSan = new Human();
这样就创建了 zhangSan这个人了。Human zhangSan 的写法类似 int i 。着重讲解后面 new Human()
类与构造方法
在由类实例化一个具体的对象的时候,构造方法就会执行。比如Human这个类,定义了2个构造方法,一个无参数,一个有参数。看清构造方法的形式---无返回值。
public class Human{
String id; // 这是标识对象唯一性的属性
String name;
// 这是new Human()时调用的构造方法
Human(){
}
// 这是 new Human("111111111")时调用的构造方法
Human(String shenFenZheng){
id= shenFenZheng;
}
}
new Human() 即调用无参数的构造方法创建一个 Human实例对象。
类的方法
方法是一个类行为的支撑,类所有的方法定义了这个类的能力范围,具体的实现过程则写在方法的内容中。方法的定义遵循一定的格式,即:
修饰符 返回值类型 方法名称(参数类型 参数名)
public void speack(String words)
这个例子中:
修饰符:public (这个繁琐以后讲)
返回值:void (空,即不返回值)
方法名称:speak
参数类型:String ( 字符串类型 )
参数名称: words(这是在 方法内部该变量的名称)
类的属性与存取方法
作为OOP原则之一:数据隐藏(或称为封装)。对象的属性不能直接被外部对象访问,而应该通过对象自身提供的get(取)、set(存)方法来完成。
public String getName() {
return name;
}
public void setName(String aName) {
name = aName; // 这里的name是类中的属性,该类的所有方法都可以直接访问、赋值
}
一个较为合理的类
至此,一个类的片段我们都有了,下面拼接起来吧:
public class Human {
String id; // 类的属性变量
String name; // 类的属性变量
// 这是new Human()时调用的构造方法
Human() {
}
// 这是 new Human("111111111")时调用的构造方法
Human(String shenFenZheng) {
id = shenFenZheng;
}
public String getId() {
return id;
}
public void setId(String shenFenZheng) {
id = shenFenZheng;
}
// 取name内容的方法
public String getName() {
return name;
}
// 修改name内容的方法
public void setName(String aName) {
name = aName;
}
// 类的行为
public void speak(String words) {
System.out.println(words);
}
}
使用实例:
public class Meeting {
public static void main(String[] args) {
// 一个小娃出生了
Human zhangSan = new Human();
// 报了户口,身份证号是
zhangSan.setId("1234567890123");
// 家长给起了个名字
zhangSan.setName("张三");
// 又一个小娃出生了
Human xiaoMing = new Human();
xiaoMing.setId("3210987654321");
xiaoMing.setName("小明");
// 两人见面了,张三先打招呼
zhangSan.speak("你好!我是"+zhangSan.getName());
// 出于礼貌,小明回了句
xiaoMing.speak("你好!我是"+xiaoMing.getName()+",很高兴认识你");
}
}
这个例子仅引导你了解OOP的基本概念,代码还不是很规范,在学会各种修饰符public private protected default之后,代码会规范。
后面要学习的有:
1、各种修饰符
2、类间关系(依赖、聚合、继承)
3、特殊注意之处final static this super
分享到:
相关推荐
本资源是针对"ACCP5.0 S2"阶段的Java OOP上机贯穿案例,旨在帮助学习者深入理解和应用面向对象编程。"ACCP5.0 S2"可能是一个计算机编程课程或培训计划的一部分,其中S2可能代表课程的第二阶段,而"Java OOP上机贯穿...
Java面向对象编程PDF 在这篇文章中,我们将对Java面向对象编程的基础知识进行总结和解释。面向对象编程(Object-Oriented Programming,OOP)...这些知识点是Java编程的基础,理解这些概念对于学习Java编程非常重要。
接下来,我们要理解面向对象编程的基本概念。面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它的核心思想是将现实世界的问题转化为计算机可以理解的模型,即对象。在Java中,对象是类(class)...
在Java语言中,面向对象编程得到了广泛的应用,这使得Java成为企业级开发的首选语言之一。下面将详细阐述Java中的面向对象编程知识点。 1. 类与对象 - 类:类是创建对象的模板,定义了对象的属性(数据成员)和...
在Java中,面向对象编程(OOP)的三大基本特性是封装、继承和多态。 封装是面向对象编程的核心思想。它隐藏了对象的内部细节,仅向外界提供必要的接口。在Java中,类是封装的基本单位,通过私有(private)、受保护...
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它基于“对象”的概念,将数据和操作数据的方法封装在一起。在Java语言中,OOP是其核心特性,使得代码更加模块化、可重用和易于维护。本课程...
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它基于“对象”的概念,将数据和操作数据的方法封装在一起,以提供更好的数据抽象和模块化。在Java和C#这两种广泛使用的编程语言中,面向对象...
Java数据结构与面向对象编程是计算机科学中的核心概念,它们对于任何Java开发者来说都是不可或缺的知识。数据结构是指在计算机中组织、存储和处理数据的方式,而面向对象编程(Object-Oriented Programming,OOP)是...
"Java面向对象编程.pdf 高清PDF下载.txt"这个文件可能是提供下载链接或指南的文本文件,它可以帮助用户找到并下载"Java面向对象编程.pdf"这份高清PDF教程,从而深入学习和理解Java的面向对象编程概念和技术。...
这个Java贪吃蛇游戏源码可以用于学习和理解Java编程语言、程序设计、面向对象编程以及游戏开发的相关知识。通过阅读和理解这个源码,您可以学习到如何使用Java语言和GUI框架来实现一个简单的游戏,以及如何处理游戏...
面向对象编程(Object-Oriented Programming,简称OOP)是一种重要的编程范式,它通过将数据和操作数据的方法封装在对象中,实现了代码的模块化和重用性。本教程聚焦于C++和Java这两种广泛使用的OOP语言的比较,旨在...
1. Java面向对象编程:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,依赖于对象的概念来设计应用程序。在面向对象编程中,数据和方法被封装成一个单一的单元,即对象。这些对象通过发送...
Java是一种广泛使用的、支持面向对象编程的编程语言,它提供了丰富的特性来实现OOP的概念。在本课程“使用Java实现面向对象编程”中,我们将深入探讨这些概念并结合实际示例进行学习。 首先,我们来理解面向对象的...
面向对象编程(Object-Oriented Programming,简称OOP)是一种重要的编程范式,它通过将数据和操作数据的方法封装在对象中,实现了程序设计的模块化和抽象化。本教程对比了两种广泛应用的面向对象语言——C++和Java...
在深入探讨Java面向对象编程(OOP)之前,我们首先要理解OOP的基本概念及其与过程式编程的区别。Java作为一种强大的编程语言,其设计初衷之一就是全面拥抱OOP理念,这不仅体现在语言结构上,更体现在其对软件工程...
在Java编程语言中,面向对象编程(Object-Oriented Programming, OOP)是核心特性之一,它基于类和对象的概念,使得代码结构清晰、可维护性高。在北大青鸟S2课程中,第二章主要讲解了如何使用Java来实现面向对象编程...
面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,它基于“对象”的概念,这些对象封装了数据和操作这些数据的方法。在Java中,面向对象特性包括类、对象、封装、继承、多态等核心概念。 首先,...