面向对象分类-
- 格式:pptx
- 大小:7.47 MB
- 文档页数:53
⾯向对象中常见的⼏种类之间的关系1.继承继承指的是⼀个类(称为⼦类)继承另外的⼀个类(称为⽗类)的功能,并可以在⼦类中增加⾃⼰的新属性和功能。
在Java中继承关系可以通过关键字 extends明确标识。
在UML类图表⽰中,⽤⼀条带空⼼三⾓箭头的实线表⽰继承关系,由⼦类指向⽗类。
2.实现关系实现指的是⼀个class类实现interface接⼝(可以是多个)的功能,实现是类与接⼝之间最常见的关系。
在Java中此类关系通过关键字implements明确标识。
在C++中,实现关系体现在抽象⽗类与具体⼦类之间的关系。
在UML类图中,⽤⼀条带空⼼三⾓箭头的虚线表⽰实现关系,从类指向实现的接⼝。
3.依赖关系依赖就是⼀个类A使⽤到了另⼀个类B来实现某些功能,⽽这种使⽤关系是具有偶然性的、临时性的、⾮常弱的,但是类B的变化会影响到类A。
在代码中,常表现为类B作为参数被类A在某个⽅法中使⽤。
在UML类图中,依赖关系⽤由类A指向类B的带箭头虚线表⽰。
4.关联关系关联体现的是两个类之间语义级别的⼀种强依赖关系,这种关系⽐依赖关系更强,⼀般是长期性的。
关联可以是单向、双向的。
在代码中常体现在,被关联类B以类的属性形式出现在关联类A中,也可能是关联类A引⽤了⼀个类型为被关联类B的全局变量。
在UML类图中,⽤由关联类A指向被关联类B的带箭头实线表⽰关联关系,在关联的两端可以标注关联双⽅的⾓⾊和多重性标记。
5.聚合关系聚合是关联关系的⼀种特例,它体现的是整体与部分的关系,即has-a的关系。
此时整体与部分之间是可分离的,它们可以具有各⾃的⽣命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。
⽐如飞机场和飞机。
在代码中的体现,和关联关系是⼀致的,只能从语义级别来区分。
在UML类图设计中,⽤空⼼菱形加实线箭头表⽰聚合关系。
6.组合关系组合也是关联关系的⼀种特例,体现的是⼀种contains-a的关系,这种关系⽐聚合更强,也称为强聚合。
面向对象分类法arcgis 面向对象分类法(Object-Oriented Classification,OOC)是将遥感数据像素根据物体或地物类型进行分类的方法。
OOC分类法在遥感数据处理和应用中广泛使用,尤其是在地物覆盖类型分类方面。
ArcGIS是一款著名的GIS软件,它支持多种分类法。
本文将介绍面向对象分类法在ArcGIS中的应用。
一、面向对象分类法基本概念面向对象分类法是一种“基于物体”而不是基于像元的分类方法,它将像素组合成具有物理意义的物体(对象),例如建筑物、道路、水体等,然后再将这些物体分类为不同的地物类型。
OOC分类法通常分为三个步骤:物体分割、物体属性提取和物体分类。
1.物体分割物体分割是将像素聚集成具有物理意义的物体的过程。
这个过程通常使用图像分割算法来实现。
常用的分割算法有单阈值分割、多阈值分割、区域生长、水平集等。
2.物体属性提取物体属性提取是从物体中提取有意义的特征的过程。
这些特征可以用于下一步的分类过程。
物体属性提取通常使用遥感影像的光谱、纹理、形状、结构等特征来描述物体。
3.物体分类物体分类是将物体按照它们的物理意义分类的过程。
这个过程通常使用基于强分类器的机器学习方法来实现,例如支持向量机、随机森林等。
二、面向对象分类法在ArcGIS中的应用ArcGIS是一款功能强大的GIS软件,它支持多种遥感数据分类方法,包括像元分类、基于物体分类和混合分类等。
其中基于物体的分类法就是面向对象分类法。
使用ArcGIS进行面向对象分类法分析的步骤如下:1.数据准备首先需要准备一幅高分辨率的遥感影像,这个影像最好是多光谱遥感影像,因为多光谱遥感影像包含了丰富的地物信息,可以提高面向对象分类的精度。
其次需要准备一个数字高程模型(Digital Elevation Model,DEM),这个DEM可以用于去除地形效应,提高分类的精度。
2.物体分割在ArcGIS中实现物体分割是通过“物体识别工具”来实现的。
简述对面向对象的三大特征的理解
面向对象有三大特点:封装、继承、多态。
1、继承性:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。
对象的一个新类可以从现有的类中派生,这个过程称为类继承。
新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。
派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
2、封装性:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。
面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
3、多态性:
多态性是指允许不同类的对象对同一消息作出响应。
多态性包括参数化多态性和包含多态性。
多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
面向对象影像分类(基于样本)1、进行尺度为100的影像分割。
2、在Class Hierarchy中点右键,选择Insert class,依次建立四个类:房屋、道路、湖泊、草地。
3、编辑特征空间:选择菜单“Classification -> Nearest Neighbor -> Edit Standard NN Feature Space”,双击左边的特征列表中的特征,选择以下一些特征,如下图:4、应用分类规则:选择菜单“Classification -> Nearest Neighbor -> Apply Standard NN to Classes”把它插入到类描述中,选择左边框中的类,单击,即可将该类加入到右边的框中,如下图:点击OK后,在Class Hierarchy中双击一个类,如草地,可以看出分类特征已经添加到该类中,如下图:5、选择样本:选择菜单View -> toolbar -> sample,打开样本导航器,如下图:选择按钮,打开样本编辑器,如下图:6、选择类的样本:从样本编辑器中的Active Class中选择需要选择样本的类,如草地,在分割图上点击样例对象,当你单击一个类时,它的特征值在每个列出的特征被以高亮度的红色指示显示,这样可以使您对比不同对象它们的相关特征值,如下图:该类的样本,选择后样本编辑器会成为如下的状态:依次为所有的类选择足够的样本。
7、执行分类:在Process Tree中选择Append New,Algorithm中选择Basic Classification -> Classification,在Algorithm Parameters的Active Classes中选择“草地、道路、房屋、湖泊”,设置如下图:点击OK后,再右键选择Execute,即可得到分类结果:对于分类图中的白色区域,表示这些对象没有被分类,只需要将这些对象添加到相应的类中,再重新进行分类,就可以得到正确的分类结果了,重新分类后的结果如下:。
面向对象的方法有哪些面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将问题分解为对象,并通过对象之间的交互来解决问题。
在面向对象编程中,我们使用类(class)和对象(object)来组织和管理代码,从而实现代码的封装、继承和多态。
面向对象的方法有以下几种:1. 封装(Encapsulation):封装是面向对象编程的基本特征之一。
它指的是将相关的属性和行为(方法)组合在一起,形成一个对象。
封装可以隐藏对象的内部细节,只提供一些外部接口,从而提高代码的可维护性和重用性。
2. 继承(Inheritance):继承是面向对象编程的另一个重要特征。
它通过创建一个新的类(子类)来继承已有类(父类)的属性和方法。
子类可以继承父类的所有非私有成员,并且可以添加自己的成员。
继承可以实现代码的重用和扩展。
3. 多态(Polymorphism):多态是面向对象编程的核心概念之一。
它指的是同一个类的实例在不同的情况下表现出不同的行为。
多态的实现方式包括函数重载和函数重写。
多态可以提高代码的灵活性和可扩展性。
4. 抽象(Abstraction):抽象是将具体的事物抽象成一般性的概念或模板。
在面向对象编程中,抽象是通过接口(interface)和抽象类(abstract class)来实现的。
接口定义了一组方法的签名,抽象类则提供了部分或者完整的方法实现。
抽象可以帮助我们定义通用的行为,并且使得程序具有更高的可复用性。
5. 组合(Composition):组合是指通过将一个类的对象作为另一个类的成员来组合两个类的关系。
组合可以实现部分和整体之间的关系,从而提高代码的灵活性和可维护性。
6. 封装(Encapsulation):封装是将对象的属性和方法封装起来,以隐藏内部实现的细节。
通过封装,对象对外只暴露有限的接口,隐藏了实现的细节,并且可以添加必要的验证和保护机制,提高代码的可靠性和安全性。
面向对象设计的23个设计模式详解面向对象设计是一种广泛应用于软件开发的思想,其核心在于将数据和操作封装在一起形成对象,并通过各种方式进行交互和组合,从而实现复杂的功能。
在这一过程中,设计模式起到了非常重要的作用,可以有效地提高代码的可读性、可维护性和可扩展性。
本文将对23种常见的设计模式进行详解。
一、创建型模式1.简单工厂模式简单工厂模式属于创建型模式,其目的是提供一个工厂类,使得创建对象的过程更加简单。
在这种模式中,使用者只需要提供所需对象的参数,而无需关心对象的具体实现细节。
简单工厂模式适合于对象创建过程较为简单的情况。
2.工厂方法模式工厂方法模式是简单工厂模式的进一步扩展,其核心在于将工厂类进行接口抽象化,使得不同的工厂类可以创建不同的对象实例。
工厂方法模式适合于对象创建过程较为复杂的情况。
它可以为工厂类添加新的产品类型,而不会影响原有的代码。
3.抽象工厂模式抽象工厂模式是工厂方法模式的进一步扩展,其目的是提供一个可以创建一系列相关或者独立的对象的接口。
在抽象工厂模式中,使用者只需要关心所需对象组合的类型,而无需关注对象的具体实现过程。
4.建造者模式建造者模式也是一种创建型模式,其目的在于将复杂对象分解为多个简单的部分,并将其组装起来形成复杂对象实例。
在建造者模式中,使用者只需要关注所需对象以及它们的组合方式,而无需关心对象的具体实现过程。
5.原型模式原型模式是一种基于克隆的创建型模式,其核心在于通过复制现有的对象实例来创建新的对象。
在原型模式中,对象实例的创建过程与对象所包含的状态密切相关。
原型模式适合于创建复杂对象实例,且这些对象实例之间是相对独立的情况。
二、结构型模式6.适配器模式适配器模式是一种结构型模式,其目的在于将一个类的接口转换为另一个类所能使用的接口。
在适配器模式中,使用者可以通过不同的适配器实现对象之间的互相调用。
7.桥接模式桥接模式是一种结构型模式,其目的在于将抽象部分与实现部分相互分离,从而使得两者可以独立变化。
高分一号城市绿地现状调查与分析实现教程本文将介绍基于高分一号影像数据的城市绿地信息提取的实现步骤,下图是主要的操作流程(图一)图一首先对高分影像进行预处理,其次使用监督分类法和面向对象分类法对城市绿地进行分类,然后对分类出来的影像进行矢量化处理,最后另其在arcGIS中进行统计分析,得出武汉市城市绿地的现状,下面是具体步骤。
第一章数据预处理因为处理数据是高分一号影像,本文处理软件为ENVI5.1,因为ENVI5。
2以下版本不能对高分一号直接进行处理,所以需要安装r6补丁,将下面两个文件直接粘贴到软件所在位置(图二),然后就可以打开高分影像了(图三)图二图三为了加快数据处理的速度,本文是选择先进行辐射定标然后将图像裁剪在进行后续的操作,预处理流程如下图(图四):图四1.1 辐射校正分为辐射定标和大气校正(1)打开数据:ENVI—Open As—CRESDA-GF-1,选择处理的影像,打开XML后缀文件;(2)辐射定标:选择Toolbox->Radiometric Correction—〉 Radiometric Calibration,选择待处理的高分数据弹出Radiometric Calibration对话框,进行如图设置。
对于多光谱影像,点击Apply FLAASH Setting 设置成默认值;如果是对全色影像进行辐射定标,那么Calibration则是Reflectance,Out Put Type 为UInt,Scale Factor为1000,如下图:高分一号多光谱影像参数设置高分一号全色影像参数设置(3)大气校正:选择Toolbox-〉Radiometric Correction—〉Atmospheric Correction Module-〉FLAASH Atmospheric Correction,弹出FLAASH Atmospheric Correction Model Input Parameters对话框。
遥感的面向对象分类法传统的基于像素的遥感影像处理方法都是基于遥感影像光谱信息极其丰富,地物间光谱差异较为明显的基础上进行的。
对于只含有较少波段的高分辨率遥感影像,传统的分类方法,就会造成分类精度降低,空间数据的大量冗余,并且其分类结果常常是椒盐图像,不利于进行空间分析。
为解决这一传统难题,模糊分类技术应运而生。
模糊分类是一种图像分类技术,它是把任意范围的特征值转换为 0 到 1 之间的模糊值,这个模糊值表明了隶属于一个指定类的程度。
通过把特征值翻译为模糊值,即使对于不同的范围和维数的特征值组合,模糊分类能够标准化特征值。
模糊分类也提供了一个清晰的和可调整的特征描述。
对于影像分类来说,基于像元的信息提取是根据地表一个像元范围内辐射平均值对每一个像元进行分类,这种分类原理使得高分辨率数据或具有明显纹理特征的数据中的单一像元没有很大的价值。
影像中地物类别特征不仅由光谱信息来刻画的,很多情况下(高分辨率或纹理影像数据)通过纹理特征来表示。
此外背景信息在影像分析中很重要,举例来说,城市绿地与某些湿地在光谱信息上十分相似,在面向对象的影像分析中只要明确城市绿地的背景为城市地区,就可以轻松地区分绿地与湿地,而在基于像元的分类中这种背景信息几乎不可利用。
面向对象的影像分析技术是在空间信息技术长期发展的过程中产生的,在遥感影像分析中具有巨大的潜力,要建立与现实世界真正相匹配的地表模型,面向对象的方法是目前为止较为理想的方法。
面向对象的处理方法中最重要的一部分是图像分割。
随着对地观测任务逐渐精细化,高分辨率遥感卫星影像的应用越来越广泛。
这对遥感影像分类方法提出了挑战。
已有的研究表明:基于像元的高分辨率遥感影像分类存在明显的限制。
近年来,面向对象影像分析(Object-Based ImageAnalysis,OBIA)在高分辨率遥感影像处理中渐露头角,被认为是遥感与地理信息科学发展的重要趋势。
本文针对面向对象影像分类(Object-Based Image Classification,OBIC)方法中的若干问题开展研究。
主题:遥感影像在面向对象分类中的应用文章内容:一、遥感影像的概念和特点1.1 遥感影像是指利用遥感技术获取的地面、海面、大气等物体的影像信息。
1.2 遥感影像具有多光谱、高分辨率、全天候、大范围等特点。
二、面向对象分类的基本原理2.1 面向对象分类是指将遥感影像中的像元根据其空间位置、光谱特征、纹理特征等属性进行分割和分类。
2.2 面向对象分类与传统的基于像元的分类相比,能够更好地保留地物的空间信息和形状特征。
三、遥感影像在面向对象分类中的应用3.1 遥感影像在土地利用/覆盖分类中的应用:可以利用遥感影像进行土地利用/覆盖的监测和分类,为土地管理、资源规划提供科学依据。
3.2 遥感影像在环境监测中的应用:可以利用遥感影像进行环境监测,如水体变化监测、植被覆盖度监测等,为环境保护和治理提供支持。
3.3 遥感影像在灾害监测中的应用:可以利用遥感影像进行灾害监测,如洪涝灾害、火灾等,为灾害的防范和救援提供帮助。
四、面向对象分类中的技术挑战和发展趋势4.1 技术挑战:遥感影像在面向对象分类中仍然面临着遥感影像分割、特征提取、分类算法等方面的技术挑战。
4.2 发展趋势:随着计算机视觉和人工智能技术的不断发展,面向对象分类技术将更加智能化、自动化,能够更好地适应各种复杂场景的分类需求。
结语:遥感影像在面向对象分类中有着广泛的应用前景,随着技术的不断发展和创新,相信遥感影像在面向对象分类中的应用将会变得更加广泛和深入。
五、面向对象分类的方法和技术5.1 基于规则的分类方法:基于人工定义的规则和特征进行分类,需要人工干预和指导,适用于简单场景的分类任务。
5.2 基于机器学习的分类方法:利用已知类别的样本数据训练分类器,从而实现自动分类,适用于复杂场景的分类任务。
5.3 深度学习方法:近年来,随着深度学习技术的发展,深度学习在遥感影像的面向对象分类中得到了广泛的应用。
通过构建深度卷积神经网络,可以自动学习遥感影像中的特征,实现高效准确的分类。
hj数据的lbv变换及其在面向对象分类中的应用本文将探讨。
在当今信息时代,数据处理和分析已经成为人们生活和工作中的重要组成部分。
随着数据量的不断增加和多样化,如何高效地对数据进行处理和分析变得愈发重要。
lbv变换作为一种数据处理技术,在面向对象分类中发挥着重要作用。
首先,我们来了解一下hj数据的lbv变换的基本概念。
lbv变换是一种将数据从原始空间映射到新的特征空间的数学方法。
通过lbv变换,我们可以将原始数据转换成新的特征向量,从而更好地描述数据的内在结构和特征。
在面向对象分类中,lbv变换可以帮助我们更好地理解数据,从而实现更精准的分类和预测。
在面向对象分类中,数据通常以对象的形式存储和表达。
每个对象都包含一系列的属性和特征,而这些属性和特征可以被转换成向量形式,从而可以被计算机程序处理。
lbv变换可以帮助我们对这些向量进行处理和分析,从而实现对对象的分类和识别。
通过lbv变换,我们可以更好地理解对象之间的相似性和差异性,为分类算法提供更有力的支持。
除了在面向对象分类中的应用,hj数据的lbv变换还可以应用在许多其他领域。
例如,在图像处理中,lbv变换可以帮助我们发现图像中的模式和特征,从而实现对图像内容的理解和分类。
在自然语言处理领域,lbv变换可以帮助我们对文本数据进行建模和分析,从而实现对文本的分类和情感分析。
在生物信息学领域,lbv变换可以帮助我们分析生物数据,从而实现对生物信息的挖掘和解读。
梳理一下本文的重点,我们可以发现,hj数据的lbv变换在面向对象分类中具有重要的应用和意义。
通过对数据进行lbv变换,我们可以更好地理解和分析数据,从而实现更精准的分类和预测。
随着数据处理和分析技术的不断发展,lbv变换将会在更多领域发挥重要作用,为人们的生活和工作带来更多便利和效益。
希望本文的探讨可以帮助读者更好地理解lbv变换在面向对象分类中的应用,同时也希望能够启发更多关于数据处理和分析的研究和探讨。
面向对象程序设计基础知识面向对象程序设计(Object-oriented programming,简称OOP)是一种让计算机程序更具可维护性、可扩展性和可重用性的编程范式。
其中,基于类和对象的概念是核心要素。
本文将介绍面向对象程序设计的基础知识,包括类与对象、封装与继承、多态和抽象等。
一、类与对象类是面向对象程序设计的基本单位,是对一类具有相同属性和行为的对象的抽象描述。
类可以看作是对象的模板或蓝图,它定义了对象的属性和方法。
对象则是类的实例化,是具体的实体。
在面向对象程序设计中,类包含两个主要的成员:属性和方法。
属性是类的特性,描述了对象的状态;方法是类的行为,描述了对象的操作。
通过封装属性和方法,类实现了对数据和行为的封装,使得程序的逻辑更加清晰和灵活。
二、封装与继承封装是将类的属性和方法封装在一起,形成一个独立的单元。
通过封装,我们可以隐藏类的内部实现细节,只暴露必要的接口给外部使用。
这种数据与行为的封装增强了类的安全性和可靠性,同时也降低了程序的耦合性。
继承是面向对象程序设计的另一个重要概念。
通过继承,一个类可以继承另一个类的属性和方法,从而实现代码的复用和扩展。
继承关系可以形成类的层次结构,其中父类被称为超类或基类,子类被称为派生类。
派生类可以重写父类的方法或添加自己的方法,实现对父类的功能增强。
三、多态和抽象多态是指同一种类型的对象在不同情况下表现出不同的行为。
通过多态,我们可以根据对象的具体类型调用相应的方法,而不关心对象的具体实现。
多态提高了代码的灵活性和可扩展性,使得程序更易于维护和扩展。
抽象是将复杂的事物简化为一个易于理解的模型。
在面向对象程序设计中,抽象提供了接口和抽象类两种机制。
接口定义了一个类应该具有哪些方法,但不提供具体的实现;抽象类则是一种中间状态,既可以有定义了方法的具体实现,又可以有定义了接口的抽象方法。
通过接口和抽象类,我们可以实现代码的分离和模块化,提高代码的灵活性和复用性。
基于Nearest Neighbor 的面向对象监督分类1. 启动eCognition 8.9,选择Rule Set Mode ,Ok 。
2. 新建Project :File →New project ,或者工具栏上的新建按钮。
在弹出的对话框中选择要添加的文件l8_rs_wgs84_sub.img ,点Ok ,可以看到它包含8个分辨率为30m 的图层,双击每个图层可以修改它的图层名,利于分辨。
然后点图层窗口右边的Insert ,在弹出的对话框中选择l8_pan_rs_wgs84_sub.img 文件,Ok 后将Pan 波段添加进来。
最后,点Thematic Layer Alias 窗口右边的Insert 按钮,选择2002 forest types UTM WGS84.shp 文件,Ok 后将森林类型专题图添加进来,双击该矢量层,将图层名修改为Foresttype ,最终效果如下图:D E NG _0316Project Name 等按默认,点Ok ,回到主界面,图像按前3个波段RGB 显示,如下图:为了更好的辨别地物类型,点击工具栏上的图层显示编辑按钮,在弹出的对话框中点击修改RGB 为NIR ,Green ,Blue 显示:D E N G _0316如果取消勾选左下角No layer weights ,还可以设置不同波段的比重,在调整不同波段的比重时,在数值上左击鼠标增加比重,右击鼠标减少比重,如下图:点Ok 进行波段显示调整后的效果如下,然后保存这个Project 为l8_rs_wgs84_sub.dpr 。
D E N G _03163. 将图像分解为基本对象:首先,在Process Tree 窗口(如果没有,菜单栏View →Windows →Process Tree 调出),右击,选择Append New ,将Name 改为Segmentation ,其他按默认,然后点击Ok :其次,在Process Tree 窗口,右击Segmentation 这个新建规则(Rule),选Insert Child(插入子规则),Name 勾选自动,Algorithm 下拉菜单选择multiresolution segmentation (最常用的分割算法),在右边的参数窗口,找到Scale parameter 并将其设置为150,其他默认,然后点Execute(立即实行)或者Ok(稍后实行)。
面向对象的三种方法一、什么是面向对象编程面向对象编程(Object-oriented Programming, OOP)是一种编程范式,它以对象作为程序的基本单元,通过封装、继承和多态等特性对现实世界的事物进行建模和模拟。
面向对象编程具有代码复用性高、可维护性好、扩展性强等优点,因此在软件开发中得到广泛应用。
面向对象编程的核心理念是将问题划分为各个对象,并通过对象间的相互协作来解决问题。
二、面向对象的三种方法面向对象编程有三种常见的方法,分别是:1.继承(Inheritance)2.封装(Encapsulation)3.多态(Polymorphism)三、继承继承是面向对象编程中一种重要的机制,它可以让一个类继承另一个类的属性和方法。
被继承的类称为父类或基类,继承它的类称为子类或派生类。
继承的优点在于代码的重用性。
通过继承,子类可以获得父类的属性和方法,并且还可以在此基础上进行扩展和修改。
这样可以避免重复编写相同的代码,提高代码的可维护性和可读性。
在继承的过程中,子类可以覆盖父类的方法,实现特定的功能。
这种特性称为多态,后面会详细介绍。
继承一般分为单继承和多继承两种情况。
单继承表示一个子类只能继承一个父类,而多继承表示一个子类可以同时继承多个父类。
继承的实现在面向对象编程中,继承可以通过关键字extends来实现。
以下是一个继承的示例:class Animal {String name;void eat() {System.out.println("Animal is eating.");}}class Dog extends Animal {void bark() {System.out.println("Dog is barking.");}}在上面的例子中,Dog类继承了Animal类的属性和方法,并且还增加了新的bark 方法。
继承的应用场景继承主要应用于以下场景:1.子类和父类之间存在”is-a”的关系,即子类属于父类的一种特殊情况。