小康陪你学JAVA--------面向对象程序设计(绪)

从这篇开始,我将和大家开始接触JAVA学习中非常重要的部分——面向对象程序设计,当然首先和大家一起来理解几个重要的概念,这些概念虽然都是文字性,但也是需要大家和我一样能够理解的。

据说早期的程序设计经历了“面向问题”、“面向过程”的阶段,随着计算机技术的发展,以及所要解决问题的复杂性的提高,以往的程序设计方法已经不能适应这种发展的需求。于是,从20世纪70年代开始,相继出现了多种面向对象的程序设计语言,下面是计算机语言的发展过程:

一、对象

面向对象程序设计是将人们认识世界过程中普遍采用的思维方法应用到程序设计中。对象是现实世界中存在的事物,它们是有形的,如某个人、某种物品等等。

对象的特征分为静态特征和动态特征两种。静态的特征指对象的外观、性质、属性等;动态的特征指对象具有的功能、行为等。客观事物是错综复杂的,但人们总是从某一目的出发,运用抽象分析的能力,从众多的特征中抽取最具代表性、最能反映对象本质的若干特征加以详细研究。人们将对象的静态特征抽象为属性,用数据来描述,在Java语言中称之为变量;人们将对象的动态特征抽象为行为,用一组代码来表示,完成对数据的操作,在Java语言中称之为方法,。一个对象由一组属性和一组对属性进行操作的方法构成。

二、类

      将具有相同属性及相同行为的一组对象称为类。广义地讲,具有共同性质的事物的集合就称为类。

类是一个抽象的概念,要利用类的方式来解决问题,必须用类创建一个实例化的类对象,然后通过类对象去访问类的成员变量,去调用类的成员方法来实现程序的功能。这如同“汽车”本身是一个抽象的概念,只有使用了一辆具体的汽车,才能感受到汽车的功能。一个类可创建多个类对象,它们具有相同的属性模式,但可以具有不同的属性值。Java程序为每一个类对象都开辟了内存空间,以便保存各自的属性值。

面向对象的程序设计有三个主要特征,如下:

?  封装性

?  继承性

?  多态性

1)  封装性

封装是面向对象的方法所应遵循的一个重要原则。它有两个含义:一是指把对象的属性和行为看成一个密不可分的整体,将这两者“封装”在一个不可分割的独立单位(即对象)中。另一层含义指“信息隐蔽”,把不需要让外界知道的信息隐藏起来,有些对象的属性及行为允许外界用户知道或使用,但不允许更改,而另一些属性或行为,则不允许外界知晓;或只允许使用对象的功能,而尽可能隐蔽对象的功能实现细节。

封装机制在程序设计中表现为,把描述对象属性的变量及实现对象功能的方法合在一起,定义为一个程序单位,并保证外界不能任意更改其内部的属性值,也不能任意调动其内部的功能方法。

封装机制的另一个特点是,为封装在一个整体内的变量及方法规定了不同级别的“可见性”或访问权限。

2)  继承性

首先拥有反映事物一般特性的类,然后在其基础上派生出反映特殊事物的类。如已有的汽车的类,该类中描述了汽车的普遍属性和行为,进一步再产生轿车的类,轿车的类是继承于汽车类,轿车类不但拥有汽车类的全部属性和行为,还增加轿车特有的属性和行为。

在Java程序设计中,已有的类可以是Java开发环境所提供的一批最基本的程序——类库。用户开发的程序类是继承这些已有的类。这样,现在类所描述过的属性及行为,即已定义的变量和方法,在继承产生的类中完全可以使用。被继承的类称为父或超类,而经继承产生的类称为子类或派生类。根据继承机制,派生类继承了超类的所有成员,并相应地增加了自己的一些新的成员。

若一个子类只允许继承一个父类,称为单继承;若允许继承多个父类,称为多继承。目前许多面向对象程序设计语言不支持多继承。而Java语言通过接口(interface)的方式来弥补由于Java不支持多继承而带来的子类不能享用多个父类的成员的缺憾。

3)  多态性

多态是面向对象程序设计的又一个重要特征。多态是允许程序中出现重名现象。Java语言中含有方法重载与成员覆盖两种形式的多态。

方法重载:在一个类中,允许多个方法使用同一个名字,但方法的参数不同,完成的功能也不同。成员覆盖:子类与父类允许具有相同的变量名称,但数据类型不同,允许具有相同的方法名称,但完成的功能不同。

多态的特性使程序的抽象程度和简捷程度更高,有助于程序设计人员对程序的分组协同开发。

时间: 2024-10-06 03:00:05

小康陪你学JAVA--------面向对象程序设计(绪)的相关文章

小康陪你学JAVA--------JAVA基本程序设计总结

前段时间对JAVA基本的程序设计做了介绍,小编对此做了一些总结,希望能对大家有所帮助. 1.Java的数据类型可分为下列两种:基本数据类型和引用数据类型. 2.Java提供long.int.short及byte四种整数类型的最大值.最小值的代码.最大值的代码是MAX_VALUE,最小值是MIN_VALUE.如果使用某个类型的最大值或最小值,只要在些代码之前,加上它们所属的类的全名即可. 3.Unicode,它为每个字符制订了一个唯一的数值,如此在任何的语言.平台.程序都可以安心地使用. 4. 

小康陪你学JAVA--------运算符及表达式的类型转换

下面列出了各个运算符的优先级的排列,数字越小的表示优先级越高. Java还有一些相当简洁的写法,是将算术运算符和赋值运算符结合成为新的运算符,下面列出了这些运算符. 当int类型遇上了float类型,到底谁是“赢家”呢?在前面曾提到过数据类型的转换,在这里,要再一次详细讨论表达式的类型转换. Java是一个很有弹性的程序设计语言,当上述的情况发生时,只要坚持“以不流失数据为前提”的大原则,即可做不同的类型转换,使不同类型的数据.表达式都能继续存储.依照大原则,当Java发现程序的表达式中有类型不

Java程序设计 实验二 Java面向对象程序设计

北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计 班级:1353  姓名:李海空  学号:20135329 成绩:             指导教师:娄嘉鹏      实验日期:2015.5.7 实验密级:         预习程度:         实验时间: 仪器组次:          必修/选修:            实验序号: 实验名称:       Java面向对象程序设计 实验目的与要求:实验内容 1. 初步掌握单元测试和TDD 2.

小康陪你学JAVA--------sort方法对数组进行排序

本篇和大家分享另一种数组的操作的方法——sort方法对数组进行排序. 范例:TestJava4_5.java 01 // 以下程序是数组的排序操作,在这里使用了sort方法对数组进行排序 02 import java.util.*; 03 public class TestJava4_5 04 { 05    public static void main(String[] args) 06  { 07       int a[] = {4,32,45,32,65,32,2} ; 08 09  

Java面向对象程序设计

北京电子科技学院(BESTI)                                                                                 实     验    报     告 课程:Java        班级:1352        姓名:马悦      学号:20135235 成绩:              指导教师:娄嘉鹏              实验日期:2015.05.07 实验密级:            预习程度:    

小康陪你学JAVA--------数组的介绍

今天小编和大家分享JAVA学习中一个重要的数据类型——数组. 若想要存放一连串相关的数据,使用数组是个相当好用的选择.此外,如果某个程序片段经常反复出现,那么将它定义成一个方法可以有效地简化程序代码.数组是由一组相同类型的变量所组成的数据类型,它们以一个共同的名称表示,数组中的个别元素则以标注来表示其存放的位置. 要使用Java的数组,必须经过两个步骤:(1)声明数组.(2)分配内存给该数组. 这两个步骤的语法如下: 数组的声明格式里,“数据类型”是声明数组元素的数据类型,常见的类型有整型.浮点

小康陪你学JAVA--------continu3和break的比较

本篇将和大家做个continu3和break的比较. 在Java语言中,有一些跳离的语句,如break.continue等语句,站在结构化程序设计的角度上,并不鼓励使用,因为这些跳离语句会增加调试及阅读上的困难.因此建议:除非在某些不得以的情况下之外,否则尽量不要去使用它们.在本篇中,将介绍break及continue语句. break语句 break语句可以强迫程序跳离循环,当程序执行到break语句时,即会离开循环,继续执行循环外的下一个语句,如果break语句出现在嵌套循环中的内层循环,则

小康陪你学JAVA--------JAVA基础总结

此篇是对刚开始接触JAVA的一个小总结. 1.  Java 语言的注释方式有三种: (1).“//”记号开始,至该行结束: (2).“/*”与“*/”这两个符号之间的文字: (3).文档注释. 2. 如果将一个类声明成 public,则它的文件名称必须取成这个类的名称才能顺利编译. 3.  main()在 Java 里是一个相当特殊的 method,它一定要声明成 public,使得在类的其它地方皆可调用到它,且 main() method 没有返回值,所以在它之前要加上 void关键字. 4.

小康陪你学JAVA--------方法简介

方法可以简化程序的结构,也可以节省编写相同程序代码的时间,达到程序模块化的目的.其实读者对方法应该不陌生,在每一个类里出现的main()即是一个方法.使用方法来编写程序代码有相当多的好处,它可简化程序代码.精简重复的程序流程,并把具有特定功能的程序代码独立出来,使程序的维护成本降低. 方法可用如下的语法来定义:  要特别注意的是,如果不需要传递参数到方法中,只要将括号写出,不必填入任何内容.此外,如果方法没有返回值,则return语句可以省略. 方法的参数与返回值 如果方法有返回值,则在声明方法

小康陪你学JAVA--------得到数组中的最大值和最小值的实例

今天和大家分享如何得到数组中的最大值和最小值的实例. 范例:TestJava4_3.java 01 // 这个程序主要是求得数组中的最大值和最小值 02 public class TestJava4_3 03 { 04     public static void main(String args[]) 05  { 06  int i,min,max; 07  int A[]={74,48,30,17,62};    // 声明整数数组A,并赋初值 08 09  min=max=A[0]; 10