14370|0

73

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

转帖: 面向对象技术基础(非常好的1) [复制链接]

1 面向对象技术基础  311 面向对象的基本概念   面向对象的基本思想   面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。开发一个软件是为了解决某些问题,这些问题所涉及的业务范围称作该软件的问题域。其应用领域不仅仅是软件,还有计算机体系结构和人工智能等。   1. 对象的基本概念   2. 类的基本概念   3. 消息  1. 对象的基本概念   对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。从更抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。客观世界是由对象和对象之间的联系组成的。   主动对象是一组属性和一组服务的封装体,其中至少有一个服务不需要接收消息就能主动执行(称作主动服务)。 312 面向对象的基本特征   1.封装性   2.继承性   3.多态性  1.封装性   封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义:   ◇ 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。   ◇ 信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系。   封装的原则在软件上的反映是:要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的"交叉感染",使软件错误能够局部化,大大减少查错和排错的难度。 2.继承性   特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。例如,轮船、客轮;人、大人。一个类可以是多个一般类的特殊类,它从多个一般类中继承了属性与服务,这称为多继承。例如,客轮是轮船和客运工具的特殊类。在java语言中,通常我们称一般类为父类(superclass,超类),特殊类为子类(subclass)。 3.多态性   对象的多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在一般类及其各个特殊类中具有不同的语义。例如:"几何图形"的"绘图"方法,"椭圆"和"多边形"都是"几何图"的子类,其"绘图"方法功能不同。 313 面向对象程序设计方法    OOA-Object Oriented Analysis     面向对象的分析    OOD-Object Oriented Design      面向对象的设计    OOI-Object Oriented Implementation  面向对象的实现 32 Java语言的面向对象特性  321   类是java中的一种重要的复合数据类型,是组成java程序的基本要素。它封装了一类对象的状态和方法,是这一类对象的原形。一个类的实现包括两个部分:类声明和类体   1.类声明  2.类体  3.成员变量  4.成员方法  5.方法重载  6.构造方法
 1.类声明:   [public][abstract|final] class className [extends superclassName] [implements interfaceNameList]   {……}   其中,修饰符public,abstract,final 说明了类的属性,className为类名,superclassName为类的父类的名字,interfaceNameList为类所实现的接口列表。  2.类体   类体定义如下:   class className   {[public | protected | private ] [static]   [final] [transient] [volatile] type   variableName;                 //成员变量   [public | protected | private ] [static]   [final | abstract] [native] [synchronized]   returnType methodName([paramList]) [throws exceptionList]    {statements}                 //成员方法   }  3.成员变量   成员变量的声明方式如下:   [public | protected | private ] [static]   [final] [transient] [volatile] type   variableName;                 //成员变量   其中,   static: 静态变量(类变量);相对于实例变量   final: 常量   transient: 暂时性变量,用于对象存档   volatile: 贡献变量,用于并发线程的共享  4.成员方法   方法的实现包括两部分内容:方法声明和方法体。   [public | protected | private ] [static]   [final | abstract] [native] [synchronized]   returnType methodName([paramList])   [throws exceptionList]            //方法声明    {statements}                //方法体   方法声明中的限定词的含义:   static: 类方法,可通过类名直接调用   abstract: 抽象方法,没有方法体   final: 方法不能被重写   native: 集成其它语言的代码   synchronized: 控制多个并发线程的访问   ◇ 方法声明   方法声明包括方法名、返回类型和外部参数。其中参数的类型可以是简单数据类型,也可以是复合数据类型(又称引用数据类型)。   对于简单数据类型来说,java实现的是值传递,方法接收参数的值,但不能改变这些参数的值。如果要改变参数的值,则用引用数据类型,因为引用数据类型传递给方法的是数据在内存中的地址,方法中对数据的操作可以改变数据的值。   例3-1说明了简单数据类型与引用数据的区别。 【例3-1】   import java.io.*;   public class PassTest{   float ptValue;   public static void main(String args[]) {   int val;   PassTest pt="new" PassTest();   val=11;   System.out.println("Original Int Value is:"+val);   pt.changeInt(val);                   //值参数   System.out.println("Int Value after Change is:" +val); /*值参数                     值的修改,没有影响值参数的值*/   pt.ptValue=101f;   System.out.println("Original ptValue is:"+pt.ptValue);   pt.changeObjValue(pt); //引用类型的参数   System.out.println("ptValue after Change is:"+pt.ptValue);/* 引用参数值的修改,改变了引用参数的值*/   }   public void changeInt(int value){   value=55;            //在方法内部对值参数进行了修改   }   public void changeObjValue(PassTest ref){   ref.ptValue=99f;        //在方法内部对引用参数进行了修改     }   }
此帖出自单片机论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表