Java教程

零基础java自学流程-认识Java基础语法28

本文主要是介绍零基础java自学流程-认识Java基础语法28,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

对象数组

对象数组是一个对象,其中数组的每个元素都是一个类。在赋值时,定义对象,然后直接将对象赋值给数组。

对象

在计算机语言中,特定程序的一种函数

一个物体(object)是一件东西,一个实体,一个名词,你可以得到的东西,任何你能想象到有自己身份的东西。对象是类的实例化。有些物体是活的,有些不是。

客户端对象部分的包含关系图

比如这辆车,这个人,这所房子,这张桌子,这株植物,这张支票,这件雨衣。简而言之,一切都是对象。

面向对象技术是当前计算机领域的研究热点。它是90年代软件开发方法的主流。面向对象的概念和应用已经超越了编程和软件开发,进入了广泛的应用领域。如数据库系统、交互接口、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。

在ASP动态网页中,对象是一个抽象的概念,是进行操作的目标。在现实生活中,例如,计算机是我们搜索信息的对象,他的外观特点,操作系统,价格,等,这就是所谓的属性对象的概念,并利用电脑玩游戏,看电影,如发现信息的目的,它对应的是方法中的对象,另外还有主板、CPU、显卡、键盘等组件,我们可以称之为对象的集合。

在ASP动态网页中,对象的特征归结为三个方面:属性、方法、设置。

概念

(1)类

类是对具有相同或相似性质的对象的抽象。因此,对象的抽象是一个类,类的具体化是一个对象,或者类的实例是一个对象。

类具有属性,这些属性是对象状态的抽象,并由数据结构描述。

类具有操作,这些操作是对象行为的抽象,通过操作的名称和实现该操作的方法来描述。

(2)类的结构

客观世界有几个阶级,其中有一定的结构关系。通常有两种主要的结构关系,即一般-具体结构关系和整体-局部结构关系。

①一般—具体结构称为分类结构,也可以说是“或”关系,或“是”关系。

②整体—部件结构称为装配结构,它们之间的关系是一种“和”关系,或“有”关系。

(3)对象

物体是人们想要研究的任何东西,从最简单的整数到复杂的飞机。它不仅可以表示具体的事物,还可以表示抽象的规则、计划或事件。

(4)客体的状态和行为

对象具有状态。对象用数据值来描述它的状态。

对象也有改变其状态的操作。对象及其操作是它们的行为。

对象实现了数据和操作的结合,使数据和操作封装在对象的统一中

(5)信息和方法

对象通信所使用的结构称为消息。在对象的操作中,当消息发送给对象时,消息中包含了执行操作的接收对象的信息。发送消息必须至少包括接收消息的对象的名称和发送到该对象的消息的名称(即对象名称、方法名称)。参数通常被指定为知道消息的对象所知道的变量名,或者作为所有对象所知道的全局变量名。

特征

(1)对象唯一性

每个对象都有自己的唯一标识,通过该标识可以找到相应的对象。一个物体的特性在它的一生中是不会改变的。不同的对象不能具有相同的特性。

(2)分类

分类是指将具有一致数据结构(属性)和行为(操作)的对象抽象为类。类是这样一种抽象,它反映了与应用程序相关的重要属性,而忽略了其他无关的东西。任何阶级的划分都是主观的,但必须与具体的应用有关。

(3)继承

继承是子类自动共享其父类的数据结构和方法的机制,这是类之间的关系。在定义和实现类时,可以在现有类的基础上进行,将现有类定义的内容作为自己的内容,并添加一些新的内容。

继承是面向对象编程语言不同于其他语言的最重要的特征,是其他语言所没有的。

在类的层次结构中,子类只继承父类的数据结构和方法,称为单继承。

在类层次结构中,从多个父类继承数据结构和方法的子类称为多重继承。

在软件开发中,类的继承使得所建立的软件具有开放性和可扩展性,是一种有效的信息组织和分类方法。它简化了对象和类的创建工作,并增加了代码的可重复性。

继承提供了规范的类层次结构。通过类继承,可以共享公共特性,提高软件重用。

(4)多态性(多形性)

多态意味着相同的操作、函数或过程可以作用于多种类型的对象并获得不同的结果。不同的对象接收相同的消息会产生不同的结果,这叫做多态性。

多态允许每个对象以适合的方式响应公共消息。

多态增强了软件的灵活性和重用性。

要素

(1)抽象

抽象是指强调一个实体的本质和内在属性。在系统开发中,抽象指的是在决定如何实现对象之前,对象的意义和行为。使用抽象来避免过早考虑细节。

类抽象对象的数据(状态)和行为。

(2)封装(信息隐藏)

封装是保证软件组件良好模块化的基础。

面向对象的类是一个包装良好的模块,其定义显式地将其描述(用户可见的外部接口)与实现(用户不可见的内部实现)分离,其内部实现受其特定定义的作用域的保护。

对象是封装的最基本单元。封装可以防止程序相互依赖的影响。面向对象封装比传统语言封装更清晰、更强大。

(3)共享

面向对象技术促进了不同层次的共享:

①在同一个班级

同一类中的对象具有相同的数据结构。这些对象具有相同的结构和行为特征。

②在同一应用程序中共享

在同一应用程序的类层次结构中,相似子类之间存在数据结构和行为的继承,使得所有相似子类具有共同的结构和行为。使用继承来共享代码是面向对象的主要优点之一。

③在不同的应用中共享

面向对象不仅允许在同一个应用程序中共享信息,而且还为未来目标的可重用设计奠定了基础。通过类库的机制和结构,实现了不同应用程序间的信息共享。

(4)强调对象结构,而不是程序结构

开发

面向对象开发方法的研究日趋成熟,世界上出现了许多面向对象的产品。面向对象开发方法包括Coad方法、Booch方法和OMT方法。

(1) Booch方法

Booch首先描述了面向对象软件开发方法的基本问题,指出面向对象开发是一种与传统的功能分解有根本区别的设计方法。面向对象的软件分解更接近人类对客观事务的理解,而功能分解只能通过问题空间的转换来实现。

(2) Coad方法

Coad方法是Coad和Yourdon在1989年提出的一种面向对象的开发方法。该方法的主要优点是通过大型系统开发经验和面向对象的概念的有机结合,提出了一套在对象、结构、属性和操作识别方面的系统原则。这个方法从需求的角度完成了类和类层次结构的进一步标识。虽然Coad方法没有引入类和类层次结构的术语,但它实际上在分类结构、属性、操作、消息关联等概念中体现了类和类层次结构的特征。

(3) OMT方法

OMT方法是由James Rumbaugh等五人于1991年提出的,其经典著作是《面向对象建模与设计》。

这种方法是一种新的面向对象的开发方法,开发工作是基于现实世界的对象建模,然后围绕这些对象使用分析模型进行语言独立的设计,促进对面向对象建模和设计需求的理解,有利于开发一个更清晰、更易于维护的软件系统。该方法为大多数应用领域的软件开发提供了切实有效的保障,并试图寻求一种切实可行的解决问题的方法。

(4) .UML(统一建模语言)

1995-1997年,软件工程取得了前所未有的进步,取得的成就超过了过去15年的总和。其中最重要的成就之一是统一建模语言(UML)的出现。UML将成为面向对象技术中占主导地位的标准建模语言。

UML不仅统一了Booch方法、OMT方法、OOSE方法,而且对其进行了进一步的发展,最终统一为为大众所接受的标准建模语言。UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它融合了软件工程领域的新思想、新方法和新技术。它的范围不仅限于支持面向对象的分析和设计,还支持从需求分析到软件开发的整个过程。

数组

概述

关于变长数组(VLA)的问题:原来的C标准不允许变长数组,即n-variable。然而,在C99中添加了VLA支持,许多编译器已经支持它,似乎没有多少人使用可变长度数组。

如果你有其他语言的编程经验,你会熟悉数组的概念。使用数组,您可以用相同的名称引用一系列变量,并用数字(索引)来标识它们。在许多情况下,使用数组可以缩短和简化程序,因为可以使用索引值设计一个循环来有效地处理多个情况。数组有上界和下界,数组的元素在上界和下界内是连续的。因为Visual Basic为每个索引值分配了空间,所以声明一个太大的数组并非不现实。

这里的数组是程序中声明的变量数组。它们不同于控件数组,后者是在设计时通过设置控件的Index属性指定的。变量数组总是连续的;与控制数组不同,您不能从数组的中间加载或卸载数组元素。

数组中的所有元素都具有相同的数据类型(在C、c++和Java中都是如此。并非所有涉及数组的地方都是这样;例如,Visual Foxpro中的数组是不需要的。当然,当数据类型为Variant时,每个元素可以包含不同类型的数据(对象、字符串、数字等等)。可以声明任何基本数据类型的数组,包括用户定义的类型(参见“重编程”中的“创建自己的数据类型”)和对象变量(参见“使用对象编程”)。

如果你想让用户输入一个数组,你通常会使用一个循环,但是你也需要在输入数组之前确定数组的大小。

紧凑与变长数组没有太大关系,也不应该有太大关系。因为将数组传递给函数的通常方法是传递数组的地址和元素的数量,这只是一个提示,而不是要求。

原型可以这样写(假设数组元素是type):

int compact(类型*数组,int Count)

在C语言中使用数组,必须先描述数组的类型。

数组说明的通常形式是:类型说明符数组名称[常量表达式]…; 类型说明符是任何基本或构造的数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的数量,也称为数组的长度。

情况下

int [10];整数数组A有10个元素。

浮动b [10] c [20];实数组B有10个元素,而实数组C有20个元素。

char ch [20];字符数组CH包含20个元素。


想要系统学习JAVA推荐JAVA300集

Java300集零基础适合初学者视频教程icon-default.png?t=L892https://www.bilibili.com/video/BV1oy4y1H7R6?spm_id_from=333.999.0.0

这篇关于零基础java自学流程-认识Java基础语法28的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!