精华内容
下载资源
问答
  • 一个对象应当具有属性和行为两个要素。 - 属性:描述静态特征 - 行为: 描述动态特征。 2. 类 类: 对所有具有共同特征的事物归为一类。 是一个抽象的概念,而对象是一个类中某个具体实体。对象是类一个...

    面向对象程序设计的基本概念

    1. 对象

     对象:面向对象程序设计的基本单元,是类的一个实例。
    

    可以定义为:对象是对问题域中客观存在的事物的抽象,踏实一组属性和在这些属性上的操作的封装体。

    2. 类

    类,就是对所有具有共同特征的事物的抽象,是一个抽象概念。
    

    在C++中用类来定义对象,类相当于一种用户自定义的数据类型。

    3. 消息

    消息,向对象发出的服务请求就称为消息。
    

    通常,消息分为三部分:
    - 接受消息的对象
    - 消息选择符
    - 零个或多个变元
    对象响应一个消息所执行的操作,称为对象的方法。在C++中把方法称为成员函数。

    4. 抽象

    类是对象的抽象,对象是类的实例。
    

    (1) 过程抽象
    程序设计中的分层思想。 可以讲问题分层次去设计实现
    (2) 数据抽象
    数据抽象是面向对象分析的核心原则,强调把数据和操作结合;
    对象外部只知道它做什么,而不必知道它如何做。

    面向对象程序设计的三大特征

    1. 封装性

    对象就是属性和操作的封装体,只提供容许外部使用的操作与对象发生联系。
    类是属性和操作的结合体,规定了类中属性和操作的访问权限。
    -  公有(public):构成了类的界面,允许所有的函数访问。
    -  私有(private):只能由类自己的函数访问。
    -  保护(protected):该类和派生类的成员函数访问。
    

    2. 继承性

    继承,能够直接获得已有的性质和特征,而不必重复他们。
    

    派生类:
    class CSetEx: public CSet
    {
    public:
    CSetEx& Union(CSetEx& s); //两个集合并运算
    CSetEx& Intersection(CSetEx& s); //集合交运算
    CSetEx(); //构造函数
    virtual ~CSetEx(); //析构函数
    };
    单继承和多继承:
    单继承:每个派生类只直接继承一个基类的全部特性。
    多继承:多个基类派生出一个派生类的继承关系。

    3. 多态性

    展开全文
  •   在特征选择中涉及到两个过程,一个是子集搜索,一个是子集评价。已知的特征空间维度,需要去遍历多有可能子集显然不现实。所以一个可行做法是,先产生一个候选子集,然后对该子集进行评价,之后根据这个...

    一、相关概念

      在特征选择中涉及到两个过程,一个是子集搜索,一个是子集评价。已知的特征空间的维度,需要去遍历多有可能的子集显然不现实。所以一个可行的做法是,先产生一个候选的子集,然后对该子集进行评价,之后根据这个评价继续搜索特征。

    • 子集搜索:(1)向前搜索:每次从待选的特征集A当中当中选定一个特征aka_k加入已选的特征集S,使得特征集SakS\cup a_k最优,并且大于原来的已选的特征集S.(2)向后搜索:每次从特征空间中删除一个冗余特征。(3)双向搜索:每次选择一个最优的特征(这些特征在后续将不会被删除),去除一个冗余的特征。
    • 子集评价:评价选择的特征子集的优劣方法。

    二、特征选择的三种类别

    1. 过滤式
        过滤式方法指的是先对特征集进行筛选,然后再进行学习器的训练,特征选择过程对后续的学习器无关。相当于先用特征选择的过程对初始的特征进行过滤,再用过滤后的特征进行模型的训练。
        典型代表有:Relief算法。该算法的思想如下:为每个特征设置一个统计量,所有特征的统计量构成一个向量。统计量代表的是特征的重要程度,最终只要选择对应分量的值大于阈值τ\tau或者前k个特征就行了。统计量构建的方法如下:在xix_i的同类样本中选择最近邻xi,nhx_{i,nh},称为“猜中近邻”。在异类样本中选择一个最近邻xi,nmx_{i,nm},称为猜错近邻,相关的统计量定义如下:δj=idiff(xij,xi,nhj)2+diff(xij,xi,nmj)2 \delta^j=\sum_{i}-\text{diff}(x_i^j,x_{i,nh}^j)^2+\text{diff}(x_i^j,x_{i,nm}^j)^2
        从上式可以看出,对于某个特征对应的分量,该特征使得同类的越近,异类的越远,所对应的统计量就越大。
    2. 包裹式
        包裹式的特征选择考虑到具体的学习器,是根据学习器上的误差来评价特征子集的优劣,在子集的搜索方式上是用了拉维加斯的随机策略。典型的算法是:LVW算法
      在这里插入图片描述
        每次随机选择出一个特征子集之后都要重新训练一个学习器,计算的花销很大,若特征数很多,可能需要运行很长的时间才能够得到一个解。
    3. 嵌入式
        嵌入式的方法与之前的两个方法不同,嵌入式将特征选择的过程与学习器的训练过程融为一体,在学习器的训练过程中,自动的进行了特征的选择。该方法的模型如下:minwim(yiwTxi)2 \min_w\sum_i^m(y_i-w^Tx_i)^2
        学习到权重W之后,就可以根据w的大小,选择出权重较大的特征。为了防止过拟合,通常加入正则项,得到的模型如下:minwim(yiwTxi)2+λW22 \min_w\sum_i^m(y_i-w^Tx_i)^2+\lambda\left \| W\right \|_2^2
    梦想的发芽需要努力的汗水去灌溉ஐ٩(๑´ᵕ`)۶ஐ
    展开全文
  • 文章目录1.并发(concurrence)2.共享(sharing)3.虚拟(virtual)4....常考易混淆概念–并行:指两个或多个事件在同一时刻同时发生。 并发 VS 并行 exp:假设小渣和老渣每人有两个女朋友。任务一:和一号约...

    1.并发(concurrence)1

    并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
    常考易混淆概念–并行:指两个或多个事件在同一时刻同时发生。

    并发 VS 并行

    exp:假设小渣和老渣每人有两个女朋友。任务一:和一号约会;任务二:和二号约会…
    并发约会:分时间段和一、二号约会。。。上午和一号约会,下午和二号约会。
    并行约会:和一、二号一起约会

    操作系统的并发性:指计算机系统中同时存在着多个运行着的程序。

    一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上是交替执行的,但宏观上看起来就像在同时执行)

    不管是几核CPU,操作系统的并发性依然是必不可少的。

    2.共享(sharing)

    共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
    两种资源共享方式:
    互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。
    同时共享方式:系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问。所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)

    生活实例
    互斥共享方式:使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。

    同时共享方式:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。

    注意:扬声器,游戏音效和音乐播放器,微观上也是同时使用的。

    并发和共享的关系
    并发性是指计算机系统中同时存在着多个运行着的程序。
    共享性是指系统中的资源可供内存中多个并发执行的进程共同使用。

    通过上述例子来看并发与共享的关系:
    使用QQ发送文件A,同时使用微信发送文件B。
    1. 两个进程正在并发执行(并发性)。如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义。
    2. 需要共享地访问硬盘资源(共享性)。如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发。

    并发性和共享性互为存在条件

    3.虚拟(virtual)

    虚拟指把一个物理上的实体变为若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上对应物是用户感受到的。

    背景知识:一个程序需要放入内存并给它分配CPU才能执行。

    虚拟技术分为:
    空分复用技术(如虚拟存储器技术)

    时分复用技术(如虚拟处理器):微观上处理机在各个微小的时间段内交替着为各个进程服务。

    显然,如果失去了并发性,则一个时间段内系统中只需运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性就谈不上虚拟性。

    4.异步(asynchronism)

    异步是指在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是异步性。

    显然,如果失去了并发性,则系统只能串行地处理各个进程,每个进程的执行会一贯到底。只有系统拥有并发性,才有可能导致异步性

    重要考点:
    理解并发和并行的区别
    并发和共享互为存在条件
    没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征


    1. 以上所有内容均整理自王道考研 ↩︎

    展开全文
  • 面向对象4个基本特征 在上述面向对象基本概念基础之上,不可避免地要涉及到面向对象程序设计所具有4个共同特征:抽象性、封装性、继承性和多态性。 1.抽象 抽象是人们认识事物常用方法,比如地图绘制...
    面向对象的4个基本特征
    在上述面向对象的基本概念基础之上,不可避免地要涉及到面向对象程序设计所具有的4个共同特征:抽象性、封装性、继承性和多态性。
    1.抽象
    抽象是人们认识事物的常用方法,比如地图的绘制。抽象的过程就是如何简化、概括所观察到的现实世界,并为人们所用的过程。
    抽象是软件开发的基础。软件开发离不开现实环境,但需要对信息细节进行提炼、抽象,找到事物的本质和重要属性。
    抽象包括两个方面:过程抽象和数据抽象。过程抽象把一个系统按功能划分成若干个子系统,进行"自顶向下逐步求精"的程序设计。数据抽象以数据为中心,把数据类型和施加在该类型对象上的操作作为一个整体(对象)来进行描述,形成抽象数据类型ADT。
    所有编程语言的最终目的都是提供一种"抽象"方法。一种较有争议的说法是:解决问题的复杂程度直接取决于抽象的种类及质量。其中,"种类"是指准备对什么进行"抽象"。汇编语言是对基础机器的少量抽象。后来的许多"命令式"语言(如FORTRAN、BASIC和C)是对汇编语言的一种抽象。与汇编语言相比,这些语言已有了较大的进步,但它们的抽象原理依然要求程序设计者着重考虑计算机的结构,而非考虑问题本身的结构。在机器模型(位于"方案空间")与实际解决的问题模型(位于"问题空间")之间,程序员必须建立起一种联系。这个过程要求人们付出较大的精力,而且由于它脱离了编程语言本身的范围,造成程序代码很难编写,而且要花较大的代价进行维护。由此造成的副作用便是一门完善的"编程方法"学科。
    为机器建模的另一个方法是为要解决的问题制作模型。对一些早期语言来说,如LISP和APL,它们的做法是"从不同的角度观察世界"、"所有问题都归纳为列表"或"所有问题都归纳为算法"。PROLOG则将所有问题都归纳为决策链。对于这些语言,可以认为它们一部分是面向基于"强制"的编程,另一部分则是专为处理图形符号设计的。每种方法都有自己特殊的用途,适合解决某一类的问题。但只要超出了它们力所能及的范围,就会显得非常笨拙。
    面向对象的程序设计在此基础上则跨出了一大步,程序员可利用一些工具来表达问题空间内的元素。由于这种表达非常普遍,所以不必受限于特定类型的问题。人们将问题空间中的元素以及它们在方案空间的表示物称作"对象"。当然,还有一些在问题空间没有对应体的其他对象。通过添加新的对象类型,程序可进行灵活的调整,以便与特定的问题配合。所以在阅读方案的描述代码时,会读到对问题进行表达的话语。与以前的方法相比,这无疑是一种更加灵活、更加强大的语言抽象方法。
    总之,OOP允许人们根据问题,而不是根据方案来描述问题。然而,仍有一个联系途径回到计算机。每个对象都类似一台小计算机;它们有自己的状态,而且可要求它们进行特定的操作。与现实世界的"对象"或者"物体"相比,编程"对象"与它们也存在共通的地方:它们都有自己的特征和行为。
    2.封装
    封装是面向对象编程的特征之一,也是类和对象的主要特征。封装将数据以及加在这些数据上的操作组织在一起,成为有独立意义的构件。外部无法直接访问这些封装了的数据,从而保证了这些数据的正确性。如果这些数据发生了差错,也很容易定位错误是由哪个操作引起的。
    如果外部需要访问类里面的数据,就必须通过接口(Interface)进行访问。接口规定了可对一个特定的对象发出哪些请求。当然,必须在某个地方存在着一些代码,以便满足这些请求。这些代码与那些隐藏起来的数据叫作"隐藏的实现"。站在过程化程序编写(Procedural Programming)的角度,整个问题并不显得复杂。一种类型含有与每种可能的请求关联起来的函数。一旦向对象发出一个特定的请求,就会调用那个函数。通常将这个过程总结为向对象"发送一条消息"(提出一个请求)。对象的职责就是决定如何对这条消息作出反应(执行相应的代码)。
    若任何人都能使用一个类的所有成员,那么可对这个类做任何事情,则没有办法强制他们遵守任何约束--所有东西都会暴露无遗。
    有两方面的原因促使了类的编制者控制对成员的访问。第一个原因是防止程序员接触他们不该接触的东西--通常是内部数据类型的设计思想。若只是为了解决特定的问题,用户只需操作接口即可,无需明白这些信息。类向用户提供的实际是一种服务,因为他们很容易就可看出哪些对自己非常重要,以及哪些可忽略不计。进行访问控制的第二个原因是允许库设计人员修改内部结构,不用担心它会对客户程序员造成什么影响。例如,编制者最开始可能设计了一个形式简单的类,以便简化开发。以后又决定进行改写,使其更快地运行。若接口与实现方法早已隔离开,并分别受到保护,就可放心做到这一点,只要求用户重新链接一下即可。
    封装考虑的是内部实现,抽象考虑的是外部行为。符合模块化的原则,使得软件的可维护性、扩充性大为改观。
    3.继承
    继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类的继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且派生类可以修改或增加新的方法使之更适合特殊的需求。这也体现了大自然中一般与特殊的关系。继承性很好地解决了软件的可重用性问题。比如说,所有的Windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的。但是有的应用程序用于文字处理,有的应用程序用于绘图,这是由于派生出了不同的子类,各个子类添加了不同的特性。
    关于继承的详细讨论,将在第4.1~4.2节进行。
    4.多态性
    多态性是指允许不同类的对象对同一消息作出响应。比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同。又比如,同样的选择"编辑"、"粘贴"操作,在字处理程序和绘图程序中有不同的效果。多态性包括参数化多态性和运行时多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好地解决了应用程序函数同名问题。
    关于多态性的讨论,将在4.7~4.9节进行。
    最后,以Alan Kay的话作为本节的结束语。他总结了Smalltalk(这是第一种成功的面向对象程序设计语言,也是Java的基础语言)的五大基本特征。通过这些特征,读者可以理解"纯粹"的面向对象程序设计方法。
    (1)所有东西都是对象。可将对象想象成一种新型变量,它保存着数据,但可要求它对自身进行操作。理论上讲,可从要解决的问题上,提出所有概念性的组件,然后在程序中将其表达为一个对象。
    (2)程序是一大堆对象的组合。通过消息传递,各对象知道自己该做些什么。为了向对象发出请求,需向那个对象"发送一条消息"。更具体地讲,可将消息想象为一个调用请求,它调用的是从属于目标对象的一个子例程或函数。
    (3)每个对象都有自己的存储空间,可容纳其他对象。或者说,通过封装现有对象,可制作出新型对象。所以,尽管对象的概念非常简单,但在程序中却可达到任意高的复杂程度。
    (4)每个对象都有一种类型。根据语法,每个对象都是某个"类(Class)"的一个"实例"。其中,"类"是"类型(Type)"的同义词。一个类最重要的特征就是"能将什么消息发给它?"。
    (5)同一类所有对象都能接收相同的消息。这实际是别有含义的一种说法,读者不久便能理解。由于类型为"圆(Circle)"的一个对象也属于类型为"形状(Shape)"的一个对象,所以一个"圆"完全能接收"形状"的消息。这意味着可让程序代码统一指挥"形状",令其自动控制所有符合"形状"描述的对象,其中自然包括"圆"。这一特性称为对象的"可替换性",是OOP最重要的概念之一。
    展开全文
  • 块可以被嵌套在另一个块中,但是不能在两个嵌套块内声明同名变量。 语句块可以使用外部变量,而外部不能使用语句块中定义变量,因为语句块中定义变量作用域只限于语句块。 public class Test19 { public ...
  • 操作系统的基本特征

    2019-03-21 22:06:00
    并发(concurrence) 并行性与并发性这两个概念是既相似又区别的两个概念。并行性是指两个或者多个事件在同一时刻发生,这是一个具有微观意义的概念,即在物理上这些事件是同时发生的;而并发性是指两个或者多个事件...
  • 文章目录一、操作系统的特征1....与之相对应是一个叫并行的概念,并行指两个或多个事件在同一时刻发生,我理解区分标准是:一定要注意是同一时间间隔还是同一时刻。 可以用一幅时序图来加深理解: .
  • 邮件服务器提供了邮件系统的基本结构,包括邮件传输、邮件分发、邮件存储等功能,以确保邮件能够发送到Internet网络中任意地方。目前邮件服务器有种不同应用群体:ISP提供商和企事业单位。电子邮件是Internet...
  • 操作系统基本特征

    万次阅读 2019-04-24 14:41:00
    操作系统基本特征 ...并行性和并发性(Concurrence)是既相似又有区别的两个概念,并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。 (3) 为了实现并发,引入进...
  • 唯一性: 每个项目都是不相同,有相似项目,但没有两个完全相同项目。 临时性: 有时间属性,要求在一定时间内完成。 项目特征: 有明确目标 项目活动之间具有相关性 限定周期 有...
  • 3.2.1虚拟内存的基本概念

    千次阅读 2016-07-19 22:18:28
    它们都具有以下两个共同的特征:1)一次性:作业必须一次性全部装入内存后,方能开始运行。这会导致两种情况发生:①当作业很大,不能全部被装入内存时,将使该作业无法运行。②当大量作业要求运行时,由于内存不...
  • 进程的基本概念

    2021-03-25 20:40:49
    程序顺序执行及其特征 1.程序顺序执行 在未配置操作系统中,程序是顺序执行。 通常把应用程序分成若干段,在各程序段之间,按照某种先后顺序执行。...例如:有两个循环程序A和B,它们共享一个变量N。 程序
  • linux进程的基本概念

    千次阅读 2012-03-16 14:20:04
    学习操作系统已经有年了,惭愧是至今没有好好复习一下课本上关于进程这一章节内容,以至于到现在很多概念东西,很多深层次东西理解起来总是不通顺,所以我决定花自己一下午时间,好好把这一章节整理...
  • DirectPlay的基本概念

    2007-11-01 08:37:00
    转自 http://dev.csdn.net/Develop/article/28/74217.shtmDirectPlay基本概念 多用户程序具有两个基本特征: 1、两个及以上用户个体,每个都在自己机器上有着一个客户端; 2、网络使得用户机器间可以互相...
  • 虚拟内存的基本概念

    2020-11-21 13:21:20
    虚拟内存的基本概念传统存储管理方式的特征、缺点局部性原理虚拟内存定义和特征如何实现虚拟内存技术总结 传统存储管理方式的特征、缺点 可用虚拟存储技术解决问题 一次性: 作业必须一次性全部装入内存后才能...
  • 面向对象的基本概念

    2018-12-16 12:57:11
    面向对象的基本概念 1)对象:对象是客观实体抽象表示,是由描述对象属性数据和对这些数据进行操作行为部分组成。 对象的特征:•具有一状态,由与其相关联属性值集合所表征。 •具有唯一标识名,...
  • 一、操作系统的基本特性 批处理系统具有能对多个作业进行成批处理,以获得高的系统吞吐量的特征,分时系统具有允许用户和计算机进行人机...并行性和并发性(Concurrence)是既相似又有区别的两个概念,并行性是指两个...
  • 聚类的基本概念

    2020-11-26 20:41:23
    聚类是针对给定样本,依据它们特征的相似度或距离,将其归并到若干“类”或“簇”数据分析问题。其结果满足,类内部相似,类之间不相似。在机器学习中聚类属于无监督学习,常用算法很多,书中介绍了种:...
  • Java个基本特性 1)、抽象:抽象是将一类对象共同特征总结出来构造类过程,包括数据抽象和行为抽象方面。  抽象只关注对象有哪些属性和行为,并不关注这些行为实现细节是什么。 2)、继承:继承是从已...
  • ●程序在执行时常呈现局部性规律,并表现在两个方面: (1)时间局限性 (2)空间局限性 3.虚拟存储器的概念: ●逻辑上扩充内存容量方案: (1)允许作业部分装入,其他页(段)在运行中需要访问时再调入–增加请求调入功能 ...
  • C 语言的基本知识特征和面向对象详解 基础知识结构体 除了提供基本数据类型外 C 语言还提供给用户自己定制数据类型能力 那就是结构体 在 C 语言中你可以用结构体来表示任何实体结构体正是面向对象语言中的概念...
  • AOP的基本概念

    2016-10-21 11:25:04
    AOP:AspectJ Orient Programming,...AOP面向是程序运行中各个步骤,AOP框架不与特定代码耦合,他能处理程序执行中特定切入点,AOP框架有特征: 1>各步骤之间良好隔离性 2>源代码无关性AOP一些术语:
  • 进程基本概念

    2018-04-26 17:52:07
    一、基本概念 进程有以下几个定义: a).正在执行的程序 b).... c).... b).... 也可以把进程当成由一组元素组成的实体,进程的两个基本的元素是程序代码(可能被执行相同程序的其他进程共享)和代码相关联
  • 操作系统的基本特征包括并发、共享、虚拟和异步 并发 并发是指两个或多个事件在同一时间间隔内发生。并行性是指系统具有同时进行运算或操作特性,在同一时刻能完成两种或两种以上工作。 操作系统并发性是指...
  • 首先我们以一生活中例子来介绍机器学习中一些基本概念:样本、特征、标签、模型、学习算法等.假设我们要到市场上购买芒果,但是之前毫无挑选芒果经验,那么如何通过学习来获取这些知识? 首先,我们从市场...
  • 浅谈数据结构的基本概念 1. 什么是数据结构呢? 数据结构是指相互有关联数据元素集合。它包含两个要素,即“数据”和“结构”。 (1)数据是需要处理数据元素集合,一般来说​,这些数据元素,具有某个共同...
  • 1.2 数据结构中的基本概念1.2.1 数据结构的概念一)了解什么是数据二)什么是数据元素三)数据结构定义1.2.2 数据类型1.2.3 抽象数据类型一)抽象数据类型的特征二)抽象数据类型描述方法: 1.2.1 数据结构...
  • 操作系统篇-基本特征

    2018-04-12 20:29:13
    操作系统的基本特征有四个:并发、共享、虚拟和异步。其中并发特性是操作系统最重要特征,其他三个特征都是以并发特性为前提。并发性并行与并发:并行与并发是既相似又有区别的概念。并行性是指两个或多个事件在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,652
精华内容 660
关键字:

概念的两个基本特征