首页 > 编程知识 正文

java程序设计实用教程(面向对象程序设计c++答案)

时间:2023-05-03 21:34:47 阅读:74544 作者:1244

Java是面向对象编程语言,对象是面向对象编程的核心。 对象是现实世界的实体,对象与实体是一一对应的,也就是说现实世界的所有实体都是一个对象,它是一个具体的概念。

定义:用基于对象的思维分析和解决问题,万事皆有对象

对象具有以下特征。

对象具有属性和行为。 对象发生变化的状态。 对象具有唯一性。 所有对象都是类别的实例。 一切都是对象,现实世界中的一切都可以视为对象。 类对象:对象是类的实例,有状态和行为。 例如,狗是一个对象,其状态为颜色、名称、品种; 行为包括摇尾巴、吠叫、吃等。

类:类是描述对象类型行为和状态的模板。

类的基本结构属性:对象数据的说明

如何:对象行为

生成方法:用于实例化对象

内部类:在类中声明的类(inner class )

块:分为静态块和实例块

的类声明:(权限修饰符public.default (可以忽略也可以不写,默认) )限定final.abstract.synchronized )类名{类名}

的作用:类是一个模板,定义多个对象共有的属性和dldrg :学生类(tsdyj,冷歌)手机类(华为. oppo )

属性可以理解为对象的数据。 注意:属性称为成员变量,是在类中声明的变量,在方法主体中声明的变量称为局部变量或临时变量。

声明方式:(权限修饰符;修饰符;数据类型属性名称(=初始值) ) )。

例如:

变量局部变量:由方法、构造方法或语句块定义的变量称为局部变量。 变量的声明和初始化都在方法中,方法结束时变量将自动放弃。 成员变量:成员变量是类中定义的方法主体以外的变量。 这些变量在创建对象时被实例化。 可以通过类中的方法、生成方法和特定类的语句块访问成员变量。 类变量:类变量也声明在类内、方法主体之外,但必须声明为静态类型。 方法是对象的行为,是具有类中定义的特定功能的独立小程序,方法也称为函数

方法执行后返回的结果的数据类型。 如果没有返回值,则使用void

声明格式:

(权限修饰符)修饰符;返回值数据类型方法名称;格式参数列表)语句执行; 返回; }参数类型:格式参数的数据类型格式参数:包含调用方法时传递给方法的实际参数的变量

return用于终止方法的返回值。 方法执行后的结果将返回调用方方法的特性。

定义方法可以封装功能代码。

这个功能容易重复使用。 方法仅在调用时执行。

方法的出现提高了代码的复用性。

如果方法没有返回值,则用关键字void表示。 此方法的return语句可以不在最后一行中省略。

方法可以调用方法,而不能在方法内部定义方法。

定义方法时,方法的结果应该返回给调用方,传递给调用方进行处理。方法重载的方法名称相同,参数不同(数量不同,类型不同,顺序不同),作用域相同

为了使构造函数(构造函数)使用Java类,必须为类创建对象,也就是说,必须实例化类。 要创建对象,必须使用生成方法。 因此,构造方法几乎都是类的必要因素。

生成方法的作用:

1 .为了初始化成员属性而不是初始化对象,初始化对象使用new关键字实现的2.new调用构造函数方法初始化对象,并在编译时根据参数签名检查构造函数被称为静态连体和编译多态性。 (参数签名:参数类型、参数数量、参数顺序)3.创建子类对象时,调用父类构造函数方法,但不创建父类对象,而是使用父类构造函数方法如下图所示,银行卡账号设计:

类与类之间的关系第一,继承关系继承是指一个类(称为子类、子接口)可以继承另一个类的功能,并添加它自己的新功能。 在Java中,继承关系用关键字extends明示,一般在设计时没有讨论性。 在UML类图的设计中,继承由带空心三角箭头的实线表示,从子类指向父类,或从子接口指向父接口。

二、实现关系的实现是一个class类实现接口的功能,实现是类和接口之间最常见的关系。 在Java中,这种关系通常由关键字implements明确表示,在设计时没有争议。 在UML类图设计中,实现由带有空心三角箭头的虚线表示,它是指从类到实现的接口。

三.简单地理解依赖关系,依赖是指一个a类被另一个b类使用。 这种使用关系具有偶然性、临时性、非常弱,但b类变化影响a类。 例如,cxdmj要过河,就需要租一艘船。 此时,人与船的关系是依赖的。 在代码级别表示时,b类作为参数在a类中的method方法中使用。 在UML类图设计中,依赖关系由a类到b类的箭头虚线表示。

四、关联关系体现了两个班之间语义层次的强烈依赖关系。 例如,我和我的朋友,这种关系比依赖强,没有依赖的偶然性,关系也不是暂时的,而是长期的,而且双方的关系一般都是平等的。 关联可以是单向、双向的。 在代码级别,关联的b类可能作为类的属性出现在关联的a类中,或者关联的a类引用了关联的b类类型的全局变量。 我在u

ML类图设计中,关联关系用由关联类A指向被关联类B的带箭头实线表示,在关联的两端可以标注关联双方的角色和多重性标记。
五、聚合关系 聚合是关联关系的一种特例,它体现的是整体与部分的关系,即has-a的关系。此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。比如计算机与CPU、公司与员工的关系等,比如一个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动力攻击潜艇等。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。在UML类图设计中,聚合关系以空心菱形加实线箭头表示。
六、组合关系 组合也是关联关系的一种特例,它体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,比如人和人的大脑。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。在UML类图设计中,组合关系以实心菱形加实线箭头表示。
七、总结 对于继承、实现这两种关系没多少疑问,它们体现的是一种类和类、或者类与接口间的纵向关系。其他的四种关系体现的是类和类、或者类与接口间的引用、横向关系,是比较难区分的,有很多事物间的关系要想准确定位是很难的。前面也提到,这四种关系都是语义级别的,所以从代码层面并不能完全区分各种关系,但总的来说,后几种关系所表现的强弱程度依次为:组合>聚合>关联>依赖。 Java 消息服务

Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建、发送、读取消息等,用于支持JAVA应用程序开发。在J2EE中,当两个应用程序使用JMS进行通信时,它们之间并不是直接相连的,而是通过一个共同的消息收发服务连接起来,可以达到解耦的效果。

优点
异步:JMS天生就是异步的,客户端获取消息的时候,不需要主动发送请求,消息会自动发送给可用的客户端。
可靠:JMS保证消息只会递送一次。大家都遇到过重复创建消息问题,而JMS能帮你避免该问题。 JMS消息传送模型

点对点消息传送模型
在点对点消息传送模型中,应用程序由消息队列,发送者,接收者组成。每一个消息发送给一个特殊的消息队列,该队列保存了所有发送给它的消息(除了被接收者消费掉的和过期的消息)。点对点消息模型有一些特性,如下:

每个消息只有一个接收者;消息发送者和接收者并没有时间依赖性;当消息发送者发送消息的时候,无论接收者程序在不在运行,都能获取到消息;当接收者收到消息的时候,会发送确认收到通知(acknowledgement)。

发布/订阅消息传递模型
在发布/订阅消息模型中,发布者发布一个消息,该消息通过topic传递给所有的客户端。在这种模型中,发布者和订阅者彼此不知道对方,是匿名的且可以动态发布和订阅topic。topic主要用于保存和传递消息,且会一直保存消息直到消息被传递给客户端。
发布/订阅消息模型特性如下:

一个消息可以传递给多个订阅者发布者和订阅者有时间依赖性,只有当客户端创建订阅后才能接受消息,且订阅者需一直保持活动状态以接收消息。为了缓和这样严格的时间相关性,JMS允许订阅者创建一个可持久化的订阅。这样,即使订阅者没有被激活(运行),它也能接收到发布者的消息。 接收消息

同步
 使用同步方式接收消息的话,消息订阅者调用receive()方法。在receive()中,消息未到达或在到达指定时间之前,方法会阻塞,直到消息可用。

异步
 使用异步方式接收消息的话,消息订阅者需注册一个消息监听者,类似于事件监听器,只要消息到达,JMS服务提供者会通过调用监听器的onMessage()递送消息。

JMS编程接口

JMS应用程序由如下基本模块组成:

管理对象(Administered objects)-连接工厂(Connection Factories)和目的地(Destination)连接对象(Connections)会话(Sessions)消息生产者(Message Producers)消息消费者(Message Consumers)消息监听者(Message Listeners)

JMS消息结构:消息头、消息属性、消息体。

Java设计基础及面向对象导向

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。