首页 数据库 mysql教程 面向对象的特征

面向对象的特征

Jun 07, 2016 pm 04:11 PM
uml 了解 对象 特征 面向

在UML中,了解到了面向对象,所以对面向对象有个初步的认识,为以后能够更加方便的理解面向对象打下一个好的基

在UML中,了解到了面向对象,所以对面向对象有个初步的认识,为以后能够更加方便的理解面向对象打下一个好的基础。

抽象、封装、继承和多态,这是面向对象技术的四大基本特征,也是面向对象程序设计思想的组成。正是这些特征,使得程序的安全性、可靠性和可重用性得到保证,并且经过发展,面向对象的思想应用范围更加广泛,不光是软件,在硬件、人工智能、分布式计算、操作系统等领域的应用也越来越重要。

抽象

抽象可以忽略事物中与当前目标无关的非本质特征、强调与当前目标有关的特征。比如地球仪,我们的目标是通过地球仪来认识地球的全貌,而不考虑地球仪上的部分与地球对应部分的比例是多少。这只是一个地球的模型,抽象的模型越简单、展露的特点越少,模型就越通用。我们通过观察地球仪,可以找到大家公认的七大洲四大洋,并不一定要知道每个大洲或大洋的具体模样,在地球仪上都有,随便一看就可以分辨出来。

抽象也可以对信息进行分类处理,将对象按照一定的标准进行划分,实现抽象模型的层次结构,更加通用和易处理。这样,抽象出来的类就为对象的重用提供了保障。

封装

把对象的状态和行为绑到一起的机制,使对象形成一个独立的整体,并且尽可能的隐藏对象的内部细节。封装的信息屏蔽作用反应了事物的相对独立性,帮助保护数据的完整性。绑定有两个含义:一时把对象的全部状态和行为结合在一起,形成一个不可分割的整体。对象的私有属性只能够由对象的行为来修改和读取;二是尽可能隐蔽对象的内部细节,与外界的联系只能通过外部接口来实现。封装的结果是使对象以外的部分不能随意更改对象的内部属性或状态,可以通过公共访问控制器来控制对象封装了的属性或状态的改变。

在面向对象的程序设计中,不能一味的限制对象的属性被外部直接读取,否则将增加很多无用的操作,要对对象的属性进行分析后再设置。

继承

各种事物之间不光有它们的共性,还有各个事物自己的特性,如果忽略了事物的特性,那么世界就会变得一层不变,失去了特色的精彩世界。事物的各自的特色和个性是这个层次的世界稳固的原因,这些特色也是来区别事物共性的部分,相辅相成。

与抽象对比,抽象是把事物间的特性舍弃,抽象出事物间的共性成为一个类;而继承则是提取了事物间的不同特性形成的多个类,这个类具有前一个类的全部特征,是前一个类的子集,形成了一个层次的结构。这样就可以看出,继承和抽象是两个相逆的过程,抽象是从多个对象中抽象出来了共性的类,是一个由多到少的过程;继承则是从对象类中分层为多个具有自己特性的子类,是一个由少到多的过程。


特别的,继承意味着“自动拥有”,即在特殊类中不必重新对已经存在一般类中的所定义过的属性和行为进行定义,而是特殊类自动的,隐含的拥有其一般类的属性和行为,且继承后这些属性和行为都是自己确实存在的。一般类称为基类,特殊类称为派生类。以上图为例,小学生和中学生,大学生,研究生这四个特殊类是学生类这个一般类的子类,也是从学生类中继承来的新类,它们自动的拥有了所有属于学生类的属性和方法,而同时它们又有自己的特性,不用再重新定义在学生类中已经定义过的属性和方法。学生类是基类,小学生等类是派生类。

继承在面向对象软件的开发过程中有如下目的,或者可以说是优势:1.对类的描述更加简洁;2.能够重用和扩展现有类库资源;3.是软件易于维护和修改。

多态

多态是指两个或多个属于不同类的对象,对于同一个消息或方法调用所作出的不同相应的能力。在面向对象的程序设计中,多态性是指在两个或多个属于不同类的同一函数名对应于多个具有相似功能的不同函数,可以使用相同的调用方式来调用这些具有不同功能的同名函数。这个可以这样理解,在一个图形的基类中有一个方法是画图,派生类矩形和派生类椭圆中也有画图的方法,但是通过同一个画图动作,矩形类画出来的图形是矩形,椭圆中画图画出来的是椭圆。

继承性和多态性的结合,实现了软件的个性化设计。面向对象中的抽象和继承更加重要,对面向对象的理解非常有帮助,当对面向对象陌生的时候可以以这两个为突破点,全面理解面向对象。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

使用PHP的json_encode()函数将数组或对象转换为JSON字符串 使用PHP的json_encode()函数将数组或对象转换为JSON字符串 Nov 03, 2023 pm 03:30 PM

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,已经成为Web应用程序之间数据交换的常用格式。PHP的json_encode()函数可以将数组或对象转换为JSON字符串。本文将介绍如何使用PHP的json_encode()函数,包括语法、参数、返回值以及具体的示例。语法json_encode()函数的语法如下:st

了解 Redisson 缓存技术 了解 Redisson 缓存技术 Jun 21, 2023 am 09:54 AM

Redisson是一种基于Redis的Java应用程序缓存解决方案。它提供了许多有用功能,使得在Java应用中使用Redis作为缓存变得更加方便和高效。Redisson提供的缓存功能包括:1.分布式映射(Map):Redisson提供了一些用于创建分布式映射的API。这些映射可以包含键值对、哈希表项或对象,它们可以支持在多个节点之间共

一目了然:JSP文件打开的方法速览 一目了然:JSP文件打开的方法速览 Jan 31, 2024 pm 09:28 PM

JSP文件打开方式JSP(JavaServerPages)是一种动态网页技术,它允许程序员在HTML页面中嵌入Java代码。JSP文件是文本文件,其中包含HTML代码、XML标记和Java代码。当JSP文件被请求时,它会被编译成JavaServlet,然后由Web服务器执行。打开JSP文件的方法有几种方法可以打开JSP文件。最简单的方法是使用文本编辑器,

如何将 MySQL 查询结果数组转换为对象? 如何将 MySQL 查询结果数组转换为对象? Apr 29, 2024 pm 01:09 PM

将MySQL查询结果数组转换为对象的方法如下:创建一个空对象数组。循环结果数组并为每一行创建一个新的对象。使用foreach循环将每一行的键值对赋给新对象的相应属性。将新对象添加到对象数组中。关闭数据库连接。

使用Python的__contains__()函数定义对象的包含操作 使用Python的__contains__()函数定义对象的包含操作 Aug 22, 2023 pm 04:23 PM

使用Python的__contains__()函数定义对象的包含操作Python是一种简洁而强大的编程语言,提供了许多强大的功能来处理各种类型的数据。其中之一是通过定义__contains__()函数来实现对象的包含操作。本文将介绍如何使用__contains__()函数来定义对象的包含操作,并且给出一些示例代码。__contains__()函数是Pytho

数组和对象在 PHP 中的区别是什么? 数组和对象在 PHP 中的区别是什么? Apr 29, 2024 pm 02:39 PM

PHP中,数组是有序序列,以索引访问元素;对象是具有属性和方法的实体,通过new关键字创建。数组访问通过索引,对象访问通过属性/方法。数组值传递,对象引用传递。

使用Python的__le__()函数定义两个对象的小于等于比较 使用Python的__le__()函数定义两个对象的小于等于比较 Aug 21, 2023 pm 09:29 PM

标题:使用Python的__le__()函数定义两个对象的小于等于比较在Python中,我们可以通过使用特殊方法来定义对象之间的比较操作。其中之一就是__le__()函数,它用于定义小于等于比较。__le__()函数是Python中的一个魔法方法,并且是一种用于实现“小于等于”操作的特殊函数。当我们使用小于等于运算符(<=)比较两个对象时,Python

PHP中的Request对象是什么? PHP中的Request对象是什么? Feb 27, 2024 pm 09:06 PM

PHP中的Request对象是用于处理客户端发送到服务器的HTTP请求的对象。通过Request对象,我们可以获取客户端的请求信息,比如请求方法、请求头信息、请求参数等,从而实现对请求的处理和响应。在PHP中,可以使用$_REQUEST、$_GET、$_POST等全局变量来获取请求的信息,但是这些变量并不是对象,而是数组。为了更加灵活和方便地处理请求信息,可

See all articles