山东专升本计算机(2024新版大纲新增)-计算思维(程序设计)_第1页
山东专升本计算机(2024新版大纲新增)-计算思维(程序设计)_第2页
山东专升本计算机(2024新版大纲新增)-计算思维(程序设计)_第3页
山东专升本计算机(2024新版大纲新增)-计算思维(程序设计)_第4页
山东专升本计算机(2024新版大纲新增)-计算思维(程序设计)_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2024山东专升本计算机-大纲新增知识点

主讲人:高老师计算思维(程序设计)考纲要求:(一)掌握计算思维的概念;了解计算思维在社会生活中的应用。(二)了解计算机求解问题的基本方法;掌握利用计算思维解决简单计算问题的方法。(三)掌握计算机算法的基本知识;了解典型问题求解策略、算法复杂度分析及对应用程序进行时间优化和空间优化的实现方法与思路。(四)掌握计算机程序的基本结构(顺序结构、分支结构、循环结构)、程序流程表达与分析方法(程序流程图、伪代码等);了解面向对象程序设计的思想与方法。2024山东专升本计算机-大纲新增计算思维目录一、计算思维概述

二、算法与数据结构三、程序设计语言四、面向对象程序设计计算思维一、计算思维概述1.1

计算思维概念计算思维是运用计算机科学的基础概念进行问题求解、系统设计,以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。计算思维由周以真于2006年3月首次提出。2010年,周以真教授又指出计算思维是与形式化问题及其解决方案相关的思维过程,其解决问题的表示形式应该能有效地被信息处理代理执行。计算思维的本质是抽象和自动化。就是如何利用计算机去求解问题,确定合适的抽象;自动化是最终目标,选择合适的方法去解释执行该抽象,让机器去做计算的工作。1.2计算思维在社会生活中的应用决策制定:在个人生活或商业环境中,计算思维有助于分析信息、评估选项并做出最佳决策。问题解决:计算思维使人们能够分解问题、识别模式并提出解决方案。这种思维方式强调逻辑推理和创造性解决问题的能力。科学研究和创新:计算思维在科学领域中至关重要。它帮助科学家分析数据、构建模型、测试假设,并发现新的解决方案和创新。技术和工程领域:计算思维对于软件开发、工程设计和技术创新至关重要。它涉及编码、系统设计和解决技术难题的能力。数据分析和预测:在商业领域,计算思维可以帮助分析大量数据,发现趋势并做出预测。这对市场营销、销售预测和业务决策非常重要。教育和培训:教育界认识到计算思维对于学生的重要性,因此越来越多的教学方法侧重于培养学生的逻辑思维、问题解决能力和创造性思维。社会政策制定:在政府和社会领域,计算思维可以帮助分析社会问题、评估政策效果并制定更有效的政策方案。信息管理和安全:计算思维对于管理和保护信息资产至关重要。它有助于识别和解决安全漏洞,确保数据和信息的安全性。1.2

计算思维在社会生活中的应用准备去旅行时,提前将所需的衣物、洗漱用品等放入行李箱,这就是一种预置行为预置;当你使用手机或电脑浏览网页时,浏览器会将已经访问过的网页内容暂时存储在缓存中,以便下次再次访问相同的网页时能够更快地加载。这就是一个日常生活中常见的缓存;当你在迷宫中迷路时,你可能会使用回溯策略来找到出口;在超市付账时,你应该选择哪个队伍排队,可以涉及到计算思维中的“最优化”;当你对智能手机说出指令或问题时,比如“设置提醒我明天早上8点起床”,智能手机的语音识别系统会录下你的声音并将其转换成文本。在这个过程中,神经网络可能会用于语音的识别和理解;计算思维的基本特征是概念化,而不是程序化计算思维不等同于计算机编程。像计算机科学家那样去思维意味着远不止能为计算机编程,还要求能够在抽象的多个层次上思维。是根本的,不是刻板的技能。是一种根本技能,是人为了在现代社会中发挥职能所必须掌握的分析和解决问题的能力,刻板技能意味着机械的重复。是人的,不是计算机的思维计算思维是人类求解问题的途径,但决非要使人类像计算机那样思考。比如计算思维使用海量数据来加速计算,在时间和空间、处理能力和存储容量之间进行权衡,人并不需要具备这样的能力。计算思维的基本特征是数学和工程思维的互补与融合计算机科学本质上源自数学思维和工程思维,像其它科学一样,其基础源自数学学科,但其实现过程又基于工程思维,计算机系统的目标是创造能与现实世界互相的系统。是思想,不是人造物计算思维不只是我们生产的软硬件以物理形式到处呈现并时刻触及我们的生活,更重要的是还体现了人类用以接近和求解问题,管理日常生活、与他人交流互动的计算思想。1.4

利用计算思维求解问题的一般方法第一步:把实际的应用问题转化为数学问题,建立数学模型;第二步:设计算法;第三步:将算法编程实现;

第四步:在计算机中运行求解前两步是计算思维中的抽象,后两步是计算思维中的自动化。真题解析下列关于计算思维的描述,正确的有A.计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的系列思维活动B.计算思维的本质是抽象与自动化C.计算思维是人的思维,不是计算机的思维D.计算思维是分析和解决问题的能力,而不是刻板的操作技能例题:1.问题解决和系统设计涉及哪种思维范式?A.平面思维B.计算思维C.文学思维D.视觉思维答案:B.计算思维2.计算思维的核心特征是什么?A.理性与情感的结合B.创造力和想象力C.抽象化和自动化D.实用主义与理论性的结合答案:C.抽象化和自动化3.计算思维的特点是什么?A.特定性和固定性B.逻辑性和系统性C.非理性和随机性D.实验性和主观性答案:B.逻辑性和系统性4.计算思维是人的思维方式,与计算机的思维方式有何区别?A.无区别B.计算思维和计算机思维完全相同C.计算思维强调应用计算机概念和技术,而不是计算机本身的思维D.计算机思维更注重人类的抽象化能力答案:C.计算思维强调应用计算机概念和技术,而不是计算机本身的思维二、算法与数据结构2.1

算法的概念与特征算法通俗讲就是解决某种问题所采用的一系列的方法和步骤。可以看作是由有限个步骤组成的用来解决问题的过程,其实质反映的是解决问题的思路和步骤。2.1

算法的概念与特征算法的特征:有穷性、确定性、可行性。有穷性:一个算法应包含有限个操作步骤,也就是说,解决过程必须是可终止的。确定性:算法的每一个步骤都必须明确定义,不应该产生二义性。

可行性:算法的每一个步骤都是可以在有限时间内完成的基本操作,并能得到确定的结果。输入:有零个或多个输入,执行算法有时需要从外界取得必要的信息。输出:有一个或多个输出。没有输出的算法是没有意义的。2.2

算法的3种基本的控制结构1、顺序结构是最简单、最基本的控制结构,其操作步骤是按照设置的先后顺序,一步一步的执行。2、选择结构也叫分支结构,它首先需要判断给定条件的真假,然后选择执行方向和顺序3、循环结构也叫重复结构,它在给定条件成立时,需要反复重复执行同一操作或类似操作。算法的表示方法常见的算法表示方法有:自然语言、流程图、N-S图、伪代码等。1、自然语言优点通俗易懂缺点:容易产生歧义,导致执行的不确定性。当算法循环和分支较多时,很难清晰的表示出来。自然语言表示的算法不便翻译成计算机程序设计语言。2.3

算法的表示方法2、用流程图表示算法流程图是一种常用的算法描述工具,主要采用一些图框表示

各种操作,用箭头表示算法流程,其特点是直观形象,结构清晰,易于理解。美国标准化协会ANSI规定了一些常用的流程图符号,已为世界各国程序工作者普遍采用。2.3

算法的表示方法2、用流程图表示算法int

i

=

0;输出i不成立i=i+1i是偶数?不成立成立结束开始i

=

0,cnt

=

0;cnt

=

cnt

+

ii

<=

100?成立不成立i=i+1开始输出cnt结束i<100?int

i

=

0;输出i不成立i=i+1不成立成立结束开始i

=

0,cnt

=

0;cnt

=

cnt

+

ii

<=

100?成立不成立i=i+1开始输出cnt结束int

i

=

0;i<100?;i是偶数吗?2.3

算法的表示方法3、N-S图表示法N-S图也称N-S流程图,这种流程图完全去掉了带箭头的流程线,对算法的每一步描述都用一个矩形框表示。优点:比文字描述更直观、形象、易于理解比传统的流程图紧凑易画废除流程线,整个算法结构是由各个基本结构按顺序组成,N-S图的上下顺序就是执行时的顺序。流程图和盒图比较Leap=1?求闰年算法的表示方法4、伪代码表示法伪代码是介于自然语言和计算机语言之间的文字和符号来描述算法的工具。优点:书写方便、格式紧凑,易于理解,便于向计算机程序设计语言过渡缺点由于语言的种类繁多,伪代码的语句不容易规范。2.3

算法的表示方法4、伪代码表示法真题解析2.4

典型问题求解策略算法策略就是在问题空间中搜索所有可能的解决问题的方法,直到

选择一种有效的方法解决问题,策略是面向问题的,算法是面向实现的。经典的算法策略主要包括:枚举算法、递推算法、递归算法、分治算法、贪心算法、回溯算法等。1、枚举算法也叫穷举法,其思路就是对问题的所有可能的解空间逐一尝试,直到找到最终解。针对于要解决的问题,列举出它所有可能的情况,逐个判定哪些是符合问题所要求的约束条件,从而得到问题的解。枚举算法的示例:百钱买百鸡2.4

典型问题求解策略2、递推算法递推算法是通过已知条件,利用特定关系得出中间结论,直到得到结果的算法。递推算法分为顺推和逆推两种。顺推就是从已知条件出发,

逐步推算出要解决的问题的方法。逆推从已知问题的结果出发,

用迭代表达式逐步推算出问题的开始的条件,是顺推法的逆过程。示例:斐波拉契数列,设它的函数为f(n),已知f(1)=1,f(2)=1;

f(n)=f(n-2)+f(n-1)(n>=3,n∈N)。则我们通过顺推可以知道:f(3)=f(1)+f(2)=2,f(4)=f(2)+f(3)=3……直至我们要求的解2.4

典型问题求解策略3、递归算法递归算法是把问题转化为规模缩小了的同类问题的子问题,然后通过递归调用函数或过程来表示问题的解。递归算法是一个程序或函数直接或间接调用自己本身。示例:汉诺塔问题斐波拉契数列2.4

典型问题求解策略4、分治算法分治算法是将一个规模较大的问题,分解为若干个规模较小的子问题,这些子问题相互独立且与原问题性质相同,再把子问题分成更小的子问题,直到最后子问题可以简单的直接求解,原问题的解即为子问题的解的合并。分治是一种算法思想,思路。示例:二分搜索(折半搜索《幸运52》)2.4

典型问题求解策略4、分治算法示例:

二分搜索2.4

典型问题求解策略5、贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择,也就是说,不从整体最优加以考虑,仅是局部最优解。贪心算法常常用于组合优化问题,它的求解过程是多步判断的过程。示例:合并排序问题6、回溯算法也称试探法,是一种优选搜索法,按选优条件向前搜索,以达到目标。但

当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择。解决一个回溯问题,实际上就是一个决策树或回溯树的遍历过程。示例:全排列问题、N皇后问题2.4

典型问题求解策略6、回溯算法----八皇后2.5

算法评价评价算法优劣的指标或条件:正确性、可读性、健壮性、复杂性1、正确性算法应当能正确求解问题。正确性是评价算法的首要条件,一个正确的算法是指在合理的输入数据下,能在有限的运行时间内得到正确的结果。2、可读性好的算法应当具有良好的可读性,容易理解3、健壮性(鲁棒性)当输入非法数据时,算法也能适当的做出反应或进行处理,而不会产生莫名其妙的输出结果2.5

算法评价4、复杂性算法复杂性分为时间复杂度和空间复杂度,用于评价算法在运行时间和占用空间上的程度。通常把算法中所消耗的时间的多少称为“算法的时间复杂度”,算法的时间效率是问题规模n的函数。可记作T(n)=O(f(n)),比如,

算法的执行时间为

3*n2+3n+1,则它的时间复杂度为T(n)=O(n2)算法的时间复杂度一般有:O(1)常数级、O(logn)对数级、O(n)线性级、O(nc)多项式级(c为常数)、O(cn)指数级(c为常数)、O(n!)阶乘级常数时间复杂度O(1):算法的执行时间与输入规模无关,例如直接访问数组中的一个元素。对数时间复杂度O(logn):二分查找等对数据规模进行对数级别的处理,随着输入规模增加,其执行时间不是线性增长,而是以对数的方式增长。线性时间复杂度O(n):算法的执行时间与输入规模成线性关系,例如遍历一个数组。线性对数时间复杂度O(nlogn):一些高效排序算法(如归并排序、快速排序)的时间复杂度。平方时间复杂度O(n^2):一些简单排序算法(如冒泡排序、插入排序)的时间复杂度,执行时间与输入规模的平方成正比。指数时间复杂度O(2^n):某些暴力解法、穷举法等算法的时间复杂度,随着输入规模的增加,执行时间指数级增长。阶乘时间复杂度O(n!):某些旅行商问题、全排列问题等的时间复杂度,随着输入规模的增加,执行时间按阶乘级别增长。2.5

算法评价4、复杂性算法在运行过程中所消耗的内存空间的大小被称为“算法的空间复杂度”。用S(n)表示。与算法的时间复杂度相同。算法的空间复杂度也可表示为:S(n)=O(g(n)),表示随着问题规模n的增大,算法运行所需存储量的增长率与g(n)的增长率相同。2.6

数据结构定义一:数据结构是计算机存储、组织数据的方式。定义二:数据结构(data

structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构,以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。数据结构与算法之间的关系:数据结构+算法=程序2.6

数据结构典型的数据结构包括线性表、树和图。线性表是最基本、最简单也是最常用的一种数据结构。线性表的定义:一个线性表是n个具有相同特性的数据元素的有限序列。通常来说,从逻辑上看,线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。堆栈和队列是两种特殊的线性表数据结构,前者是一种后进先出(FILO),后者是一种先进先出(FIFO)的集合。2.6

数据结构1、队列(先进先出:FIFO)2.6

数据结构2、堆栈(后进先出:LIFO)2.6

数据结构3、树是由n(n≥0)个有限节点组成一个具有层次关系的集合2.6

数据结构4、图是由顶点集合以及顶点间的关系集合组成的一种数据结构。真题解析2.7

算法的时间和空间优化算法复杂度的优化,就是要将可行解提高到更优解,其最终目标是:要采用尽可能低的时间复杂度和空间复杂度,去完成一个算法的设计。1、无效操作剔除处理为了降低算法复杂度,一个首要的思路是:

清理算法中的无效计算或无效存储。即首先尝试将代码中的无效计算、无效存储剔除。比如,在一个穷举算法中,可以尝试缩小可用的穷举空间,以减少无用的穷举操作。或者尽量提高变量或数据结构的复用性,减少内存的使用。2.7

算法的时间和空间优化2、使用合理的算法和数据结构对于同一问题,可用的算法或数据结构可以有很多种,都能实现相同的目的,为了减少算法的时间和空间复杂性,可以选用最优的方案。降低空间复杂度的核心思路就是。尽可能用低复杂度的数据结构,而不用高复杂度的数据结构;尽可能复用现有内存,而不是重新分配

新的内存降低时间复杂度常用的方法有递归、二分法、排序算法、动态规划等。2.7

算法的时间和空间优化3、时间换空间或空间换时间由于系统资源是有限的,为了在有限的资源内,达成某些特定的性能目标,还可以使用时间换空间或者空间换时间的方法。性能优化的关键在于掌握各部分组件的性能平衡点,如果系统CPU资源有空闲,但是内存使用紧张,便可以使用用时间换空间的策略,即多花一点CPU工作时间,来换取空间的节省。。时间换空间通常用于嵌入式设备,或者内存、硬盘空间不足的情况,通过使用牺牲CPU的方式,获得原本需要更多内存或者硬盘空间才能完成的工作。2.7

算法的时间和空间优化2、时间换空间或空间换时间与时间换空间的方法相反,空间换时间则是尝试使用更多的内存或者磁盘空间换取CPU资源或者网络资源等,通过增加系统的内存消耗,来加快程序的运行速度。典型应用就是缓存的使用,缓存是一块额外的系统内存区域,如果没有缓存,程序依然可以正常工作,但是在一般情况下,缓存中总是保存那些频繁或即将使用的数据,反复从内存获取这些数据会花费大量的资源和时间,而通过缓存这块额外的内存,避免了频繁的CPU资源消耗,加快了程序的运行速度。CPU内部的高速缓存(cache),程序设计中的缓存策略,都是空间换时间的典型应用。三、程序设计语言程序设计语言可以分为三类:机器语言、汇编语言、高级语言。其中,机器语言和汇编语言都属于低级语言。1、机器语言机器语言是计算机系统唯一能直接识别、不需要翻译直接供机器使用的程序设计语言。机器语言实际上是一串二进制指令代码,其中的每条语句称为指令。机器语言的缺点:编写难掌握、编程繁琐、可读性差、容易出错、修改和调试均不方便。依赖于具体的机器,所以通用性和移植性很差。机器语言的优点:能充分发挥硬件功能的特点,程序运行速度非常快,程序也可以编写的非常简洁。2、汇编语言是机器语言的“符号化”。汇编语言和机器语言基本上一一对应的,但在表示方法上作了改进,用一

种助记符来代替操作码,用符号来表示操作数地址(地址码)。例如用“ADD”表示加操作,用“MOV”来表示数据传送等。用助记符和符号地址来表示指令,

容易辨认,给程序的编写带来了很大的方便。汇编语言的优点:比机器语言直观、容易记忆和理解,比机器语言程序易读、易检查、易修改。缺点:本质上仍然是面向机器的语言,依赖于具体的计算机、很难在系统间移植,这样的程序编写起来仍然比较困难,程序的可读性也比较差。汇编语言不能直接被计算机直接识别和执行,把汇编语言源程序翻译成机器语言的过程称为汇编。3、高级语言高级语言是20世纪50年代后期开始出现的,是一种接近于人类自然语言的习惯、便于阅读理解、检查和修改。高级语言易学易用、可读性好、表达能力强(接近自然语言)、通用性好(编写的程序能在不同的计算机系统上运行)。高级语言不能被计算机直接识别和执行。高级语言可以分成两类:解释型和编译型解释型语言:有一个专门的解释程序,对源程序一边翻译、一边执行,不产生目标程序,如python。编译型语言:需要由编译程序先翻译成目标程序以后才可以执行,会产生目标程序。如C语言、C++、Basic、Visual

basic、C#、java、Jbuilder、delphi。问题1:在编程中,“变量”是什么?a)一种控制结构b)用于存储数据的标识符c)只能存储数字的存储单元d)用于执行循环的关键字答案:b)用于存储数据的标识符问题2:在编程中,“if”语句用于什么目的?a)执行循环b)定义函数c)实现条件判断d)进行数据类型转换答案:c)实现条件判断问题3:以下哪个关键字用于退出循环?a)exitb)loopc)breakd)continue答案:c)break问题4:在编程中,“数组”是什么?a)一种数据类型b)一种函数c)一组相同类型的元素集合d)用于控制程序流程的结构答案:c)一组相同类型的元素集合问题5:在编程中,“函数”是用来做什么的?a)存储数据b)控制程序流程c)执行特定任务的独立模块d)定义变量类型答案:c)执行特定任务的独立模块问题6:在编程中,“循环”用于什么目的?a)限制变量的范围b)重复执行特定代码块c)控制函数的返回值d)使变量变得全局可用答案:b)重复执行特定代码块问题7:在编程中,“对象”是什么?a)变量的别名b)一种数据类型c)一种抽象数据类型的实例d)用于存储常量的容器答案:c)一种抽象数据类型的实例问题8:在编程中,“字符串”是什么?a)一种数据类型b)用于保存数字的变量c)用于存储文字的变量d)一种控制流结构答案:c)用于存储文字的变量问题9:在编程中,“迭代”是指什么?a)数据类型转换b)循环的执行次数c)重复执行过程的过程d)函数的返回值答案:c)重复执行过程的过程问题10:在编程中,“注释”是用来做什么的?a)改变变量的值b)调试程序错误c)解释代码的功能d)控制程序的执行顺序答案:c)解释代码的功能四、面向对象(

Object

Oriented

)程序设计1、概述目前程序设计方法主要有两种:结构化程序设计和面向对象程序设计。在结构化程序设计中,任何程序段的编写都基于3种结构:顺序结构、分支结构、循环结构。程序具有明显的模块化特征,每个程序模块具有唯一的出口和入口语句。面向对象程序设计方法是尽可能模拟人类的思维方式,使得软件的开发方法与过程尽可能接近人类认识世界、解决现实问题的方法和过程,也即使得描述问题的问题空间与问题的解决方案空间在结构上尽可能一致,把客观世界中的实体抽象为问题域中的对象。1、概述面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对

象的思想,这与传统的思想刚好相反:传统的程序设计主张将程序看作一系列

函数的集合,以功能模块为中心,采用模块化自顶向下,逐步求精的设计过程。面向对象程序设计把构成问题的事务抽象分解成各个对象,每一个对象都

能够接受数据、处理数据并将数据传达给其它对象,或者调用其它对象的方法。面向对象方法的优点:与人类习惯的思维方法一致;稳定性好;可重用性好;易于开发大型软件产品;2、面向对象程序设计的基本思想客观事物是由对象组成的,对象是在原事物基础上抽象的结果。对象是由属性和操作组成的,其属性反映了对象的数据信息特征,而操作则用来定义改变对象属性状态的各种操作方式。对象之间的联系通过消息传递机制来实现。对象可以按其属性来归类。对象具有封装、继承、多态的特性,可达到软件复用的目的。面向对象的三(四)大特性:

(抽象)、封装、继承、多态塞大象()把大象装进冰箱-结构化程序设计方法开始结束打开冰箱门()关闭冰箱门()双手开门单手开门结束双手关门单手关门把大象装进冰箱-结构化程序设计方法开始 开始结束双开门冰箱?是开冰箱门(

)关冰箱门(

)否否双开门冰箱?是把大象装进冰箱-结构化程序设计方法装大象揍大象()开始结束塞大象(

)否大象愿意进?是皮鞭抽棍棒打开始结束揍大象(

)棍棒工具?皮鞭把大象装进冰箱-面向对象程序设计方法属性:冰箱类型方法1:开门()方法2:关门()方法3:装载(物品)属性:意愿方法:挨揍(工具)冰箱对象大象对象冰箱.开门()开始结束冰箱.关门()大象.挨揍(皮鞭)冰箱.装东西(大象)大象.意愿=愿意?是否3、对象(object)对象是面向对象方法中最基本的概念,可以用来表示客观世界中的任何实体,对象可以是具体的物(人、动物),也可以指某些概念(会议、课程)。对象是构成系统的一个基本单位,任何对象都具有自己的特征和行为。所以对象由一组表示其静态特征的属性和它可执行的一组操作组成。属性即对象的特征,操作描述了对象执行的功能(对象具有的行为),操作也称为方法或服务。4、类(class)类是编程实现中的概念,是指编程中具有相同属性和方法的对象的集合。在编程中,类是对象的抽象,对象是类的一个实例。类相当于在程序语言中为某个对象设计的图纸,而对象则是依据图纸制造出来的某个实际产品。类中所包含的所有东西,称为类的成员,包括类的属性和方法。右方的代码定义了一个“狗”的类,这只狗具有毛发颜色和是否孕育两个属

性,还有一个吠叫的方法。5、消息(Message)消息是对象之间传递的信息。对象之间只能通过消息进行通信,而不允许在对象之外直接地访问它内部的属性,这是由封装原则引起的。消息必须直接发给特定的对象,消息中包含所请求服务的必要信息,且遵守所规定的通信规格说明。一条消息至少包括:消息名、入口参数、可能返回的参数,一个对象可以是消息的接受者、发送者和参数。6、封装(Encapsulation)在完成抽象后,通过某种语法形式,将对象的属性和方法捆绑在一起,在形式上写成一个整体,即“类”,并尽可能隐藏对象的内部细节,对象好像是一个不透明的黑盒子,这个过程就叫作“封装”。封装是面向对象程序设计方法的一个重要特性,封装具有两方面的含义:1)将数据和操作代码封装在一个对象中,各个对象相对独立、互不干扰;2)将对象中某些操作代码对外隐藏,即隐藏其内部实现细节,只留下少量接口,以便与外界联系,接收外界消息,这种做法称为信息隐藏。信息隐藏有利于数据安全,防止无关人员访问和修改数据。6、封装(Encapsulation)对象封装以后,使用一个对象的时候,只需知道它向外界提供的接口而无需知道它的数据结构细节和实现操作的算法。封装的结果实际上隐藏了复杂性,并提供了代码重用性,从而减轻了开发软件系统的难度。7、继承(In

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论