`
xiaolongfeixiang
  • 浏览: 236529 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Java编程学习之面向对象编程(OOP)基本概念

 
阅读更多

在学会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.0S2教程\使用Java实现面向对象编程(Java OOP)\使用Java实现面向对象编程(Java OOP)上机贯穿案例源码

    本资源是针对"ACCP5.0 S2"阶段的Java OOP上机贯穿案例,旨在帮助学习者深入理解和应用面向对象编程。"ACCP5.0 S2"可能是一个计算机编程课程或培训计划的一部分,其中S2可能代表课程的第二阶段,而"Java OOP上机贯穿...

    java面向对象编程pdf

    Java面向对象编程PDF 在这篇文章中,我们将对Java面向对象编程的基础知识进行总结和解释。面向对象编程(Object-Oriented Programming,OOP)...这些知识点是Java编程的基础,理解这些概念对于学习Java编程非常重要。

    Java面向对象精髓编程

    接下来,我们要理解面向对象编程的基本概念。面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它的核心思想是将现实世界的问题转化为计算机可以理解的模型,即对象。在Java中,对象是类(class)...

    面向对象编程(Java).pdf

    在Java中,面向对象编程(OOP)的三大基本特性是封装、继承和多态。 封装是面向对象编程的核心思想。它隐藏了对象的内部细节,仅向外界提供必要的接口。在Java中,类是封装的基本单位,通过私有(private)、受保护...

    ACCP 5.0 S2_使用JAVA实现面向对象编程

    面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它基于“对象”的概念,将数据和操作数据的方法封装在一起。在Java语言中,OOP是其核心特性,使得代码更加模块化、可重用和易于维护。本课程...

    戏说面向对象编程oop

    面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它基于“对象”的概念,将数据和操作数据的方法封装在一起,以提供更好的数据抽象和模块化。在Java和C#这两种广泛使用的编程语言中,面向对象...

    Java数据结构与面向对象编程基础

    Java数据结构与面向对象编程是计算机科学中的核心概念,它们对于任何Java开发者来说都是不可或缺的知识。数据结构是指在计算机中组织、存储和处理数据的方式,而面向对象编程(Object-Oriented Programming,OOP)是...

    使用Java实现面向对象编程(Java OOP)

    使用Java实现面向对象编程(Java OOP)

    Java面向对象编程.pdf 高清PDF下载.rar 下载

    "Java面向对象编程.pdf 高清PDF下载.txt"这个文件可能是提供下载链接或指南的文本文件,它可以帮助用户找到并下载"Java面向对象编程.pdf"这份高清PDF教程,从而深入学习和理解Java的面向对象编程概念和技术。...

    Java编程游戏开发,面向对象编程(OOP)

    这个Java贪吃蛇游戏源码可以用于学习和理解Java编程语言、程序设计、面向对象编程以及游戏开发的相关知识。通过阅读和理解这个源码,您可以学习到如何使用Java语言和GUI框架来实现一个简单的游戏,以及如何处理游戏...

    面向对象编程C++和Java比较教程

    面向对象编程(Object-Oriented Programming,简称OOP)是一种重要的编程范式,它通过将数据和操作数据的方法封装在对象中,实现了代码的模块化和重用性。本教程聚焦于C++和Java这两种广泛使用的OOP语言的比较,旨在...

    JAVA面向对象编程(孙卫琴)08.pdf

    1. Java面向对象编程:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,依赖于对象的概念来设计应用程序。在面向对象编程中,数据和方法被封装成一个单一的单元,即对象。这些对象通过发送...

    使用Java实现面向对象编程

    Java是一种广泛使用的、支持面向对象编程的编程语言,它提供了丰富的特性来实现OOP的概念。在本课程“使用Java实现面向对象编程”中,我们将深入探讨这些概念并结合实际示例进行学习。 首先,我们来理解面向对象的...

    面向对象编程C++和Java比较教程 中英文完整版 pdf

    面向对象编程(Object-Oriented Programming,简称OOP)是一种重要的编程范式,它通过将数据和操作数据的方法封装在对象中,实现了程序设计的模块化和抽象化。本教程对比了两种广泛应用的面向对象语言——C++和Java...

    Java OOP编程思想学习之我见

    在深入探讨Java面向对象编程(OOP)之前,我们首先要理解OOP的基本概念及其与过程式编程的区别。Java作为一种强大的编程语言,其设计初衷之一就是全面拥抱OOP理念,这不仅体现在语言结构上,更体现在其对软件工程...

    Java实现面向对象编程2章示例

    在Java编程语言中,面向对象编程(Object-Oriented Programming, OOP)是核心特性之一,它基于类和对象的概念,使得代码结构清晰、可维护性高。在北大青鸟S2课程中,第二章主要讲解了如何使用Java来实现面向对象编程...

    Java面向对象教程 应用软件工程原理编程

    面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,它基于“对象”的概念,这些对象封装了数据和操作这些数据的方法。在Java中,面向对象特性包括类、对象、封装、继承、多态等核心概念。 首先,...

    Java面向对象编程-ATm取款机系统

    在Java编程领域,面向对象编程(Object-Oriented Programming,OOP)是一种广泛采用的设计模式,它基于类和对象的概念,使代码更加模块化、可维护性更强。在这个"Java面向对象编程-ATM取款机系统"项目中,我们可以...

Global site tag (gtag.js) - Google Analytics