精华内容
下载资源
问答
  • C++面向对象三大特性

    2020-06-26 21:42:52
    封装:具有相同属性和行为的事物进行抽象形成一个有机整体。将数据以及对数据的操作放在一起形绒一个有机的整体。(类)实例化对象对象即封装体.

    【封装】
    封装: 具有相同属性和行为的事物进行抽象形成一个有机整体。将数据以及对数据的操作放在一起形绒一个有机的整体。(类)实例化对象,对象即封装体.

    封装的保护机制:封装体将数据以及对数据的操作细节隐藏起来,对外界不可见。对象即一个封装体(黑盒子),外界看不见黑盒子中的数据以及对数据的操作细节。

    保护机制实现方法:权限修饰符号
    private:私有的,只能在当前类(对象)的函数中访问
    protected:保护的,可以在当前类(对象)的函数中访问,可以在派生类的函数中访问
    public:公有的,任何地方(当前类,派生类,其他场合)的函数中都能访问。

    【继承】
    继承:面向对象中功能复用的一种良好机制
    两种类:父类型被子类型继承,父类型是子类型的泛化。
    子类型派生于父类型。子类型能继承父类型中实现的功能。
    分类:
    从父类型的个数:
    单继承,一个子类型只继承于一个父类型。
    多继承,一个子类型同时继承于多个父类型用。
    一个父类型可被多个子类型继承。
    多继承(父类型是类类型)讨论:多继承是弊大于利,不推荐使用,C++支持,Java、C#都不支持。
    从子类型派生于父类型的方式:
    -私有继承:子类型把从父类型中的保护段和公有段继承下来的成员放置于自己的私有段。
    #保护继承:子类型把从父类型中的保护段和公有段成员继承下来放置于自己的保护段。
    +公有继承:子类型把从父类型中的保护段和公有段成员继承下来放置于自己的保护段和公有段。

    【多态】
    多态:在收到消息时,对象要予以响应。不同的对象收到同一消息可以产生完全不同的结果。

    消息机制:对象之间进行交互的一种方式,即函数调用,一个对象调用另外的对象(消息的接收者)的函数。
    消息:对象名,方法名,输入,输出,直接对应一个函数调用语句

    时段划分:
    1.编译时多态(静态多态):对象收到消息后要执行的动作行为在编译时确定。
    2.运行时多态(动态多态):对象执行的动作行为运行时确定。
    绑定:静态绑定、动态绑定

    Cardelli和Wegner划分
    通用:
    1.参数多态(静态多态):采用参数化模板,给出不同类型的参数,使得一个结构有多种类型。如C++语言中的函数模板和类模板属于参数多态。它的执行速度快,异常少,调用在编译时已确定。参数多态是应用比较广泛的一种多态,被称为最存的多态。

    2.包含多态(动态多态):在许多语言中存在,最常见的例子是子类型化。一般需要进行运行时的类型检查,基础是虚函数。
    继承:
    父类型:可以规定必须要实现的功能,可能没有(不关心)具体的实现。
    子类型:要实现父类型中规定的必须实现的功能。
    代码角度:父类型的引用(指针)可以指向任何派生类的对象。

    特定:
    3.强制多态(静态多态):编译程序通过语义操作,把操作对象的类型强行加以变换(隐式和显式),以符合函数或操作符的要求。

    4.过载多态(静态多态):同一个名字在不同上下文中代表的含义不同。典型例子是运算符重载和函数重载。

    作者:SKYBQL
    版权所有,侵权必究
    2020/6/26

    展开全文
  • C++面向对象三大特性】前言 今天开个坑,打算梳理下C++的基础知识,私以为,把C++三个面向对象的特性弄懂了,C++就算入了门了,因为这三大特性把一些基本的概念,比如虚函数,抽象类都涉及到了。 计划不包括前言...

    【C++面向对象三大特性】前言

    今天开个坑,打算梳理下C++的基础知识,私以为,把C++三个面向对象的特性弄懂了,C++就算入了门了,因为这三大特性把一些稍微难的概念,比如虚函数,抽象类都涉及到了。

    计划不包括前言一共用六篇文章结束战斗,每个特性写两篇,第一篇是对涉及到的知识点进行归纳总结,第二篇是针对知识点做个小case,代码实现。

    知识点

    • C++面向对象三大特性:封装、继承、多态

    • C++核心价值观:万物皆为对象!

    • 实例化:通过一个类,创建一个对象。
      比如:Base base; // Base是一个类名

    • 关于对象的一些理解
      对象 = 属性 + 行为
      比如: 人这个对象 = (眼睛、耳朵、鼻子。。) + (跳、跑、说话。。)

    有了以上几个知识点的理解,让我们欢快的进入正题趴~

    展开全文
  • C++面向对象三大特性】封装性1 知识点 封装的意义: 1、将属性和行为作为一个整体,表现生活中的事物。(属性=类的成员变量,行为=类的成员函数) 2、将属性和行为加以权限控制。(public、protected、private)...

    【C++面向对象三大特性】封装性1

    知识点

    • 封装的意义:
      1、将属性和行为作为一个整体,表现生活中的事物。(属性=类的成员变量,行为=类的成员函数)
      2、将属性和行为加以权限控制。(public、protected、private)

    • 三种权限:
      1、公有权限(public):类内可以访问,类外也可以访问。
      2、保护权限(protect):类内可以访问,类外不可以访问。
      3、私有权限(private):类内可以访问,类外不可用访问。

    • this指针
      成员函数中隐藏的一个指针,在函数的参数列表不会显示,但是在函数体内可以使用。

    • 构造函数:

    • 析构函数:

    • 拷贝构造:假设String是一个类名,String( String& str); 就是一个拷贝构造函数,因为函数名于类名相同,故称为构造,因为函数内参数类型就是类本身,故称为拷贝。

    • 拷贝赋值:operator= (String &str);理由同上。

    展开全文
  • 21.面向对象三大特性:封装 21.1 什么是封装 前面我们在设计C++的类时,会把类的属性和类的函数以类成员的身份写在类的{ }中。反过来也可以说类能被拆解为两种基本要素:属性和函数。 在面向对象程序设计中封装...

    21.面向对象三大特性:封装

    21.1 什么是封装

    前面我们在设计C++的类时,会把类的属性和类的函数以类成员的身份写在类的{ }中。反过来也可以说类能被拆解为两种基本要素:属性和函数。

    在面向对象程序设计中封装就是把互相关联的数据和操作这些数据的函数写在同一个类中的意思。

     

    我们可以从两个层面来理解封装:

    一是类的封闭性。类的数据和功能函数被类的{ }封闭在类的作用域内,他们互相协作来执行特定的任务。类是独立存在的,一个类的存在不依赖于其他类是否存在。

    二是类的开放性。在类的作用域内通过公开的访问标签(public: )把类的一些功能函数对外公开,以便在在外界需要使用这些功能的时候可以访问。

    类只向外界提供公开函数的一些关键信息,比如函数的名字、需要的参数、返回值的类型。类不向外提供函数的实现细节。

     

    举一个现实生活中的例子,比如个人电脑,任何人都可以打开和关闭电脑、播放视频、运行游戏,但是操作电脑的人却不需要懂电脑内部的工作原理。

    再比如在 C++ 中,我们使用 cout 对象来输出数据到控制台,但是并不需要了解 cout 是如何将文本显示在屏幕上的。

    C++ 中,我们使用访问标签 public:来定义类对外公开的接口有哪些。

     

    访问标签在类中出现的次数并没有限制,每个访问标签指定了紧随其后的成员的访问级别。指定的访问级别会一直有效,直到遇到下一个访问标签或者直到类的结束。

    在类中私有标签(private: )定义的成员外界是没有访问权限的,而且默认情况下类的成员都是私有的。类对外的接口数量应保持最少,一般类的数据成员都应该是私有的,但也可以通过函数对外提供一定的访问权限。

    展开全文
  • C++面向对象三大特征(四大特征三大特征:封装、继承、多态 四大特征:抽象、封装、继承、多态 一、类和对象 什么是类,什么是对象,类和对象的区别? 类是数据类型,是具有相同属性和服务的一组对象的集合。...
  • 面向对象三大特征:封装,继承,多态; 一、封装:该公开的就公开话,该私有的就隐藏掉,主要是由public,private实现;作用是便于分工和分模块,防止不必要的扩展; 二、继承:就是一种传承,可以把父类型中的数据...
  • 为了方便查阅复习,将自己原来撰写的博文进行整理,C++ 面向对象的三大特征专栏目录...C和C++的主要区别 和 C++面向对象三大特征 C++ 封装(1): 类和对象 C++ 封装(2): 构造函数和析构函数 C++ 封装(3): 对象成...
  • C和C++的主要区别 和 C++面向对象三大特征

    千次阅读 多人点赞 2019-02-26 17:55:31
    C++面向对象的语言,主要特征是“封装、继承和多态”。封装隐藏了实现细节,使得代码模块化; 派生类可以继承父类的数据和方法,扩展了已经存在的模块,实现了代码重用; 多态则是“一个接口,多种实现”,...
  • C++ 面向对象三大特性和五个原则 1、三大特性: 封装:就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。一个类就是一个封装了数据以及操作...
  • C++面向对象三大特性

    千次阅读 2013-07-30 17:22:46
    面向对象个基本特征是:封装、继承、多态。 封装 封装最好理解了。封装是面向对象特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只...
  • 封装是C++面向对象三大特性之一 封装的意义: 将属性和行为作为一个整体,表现生活中的事物 将属性和行为加以权限控制 封装意义一: ​ 在设计类的时候,属性和行为写在一起,表现事物 语法: class 类名{ 访问...
  • class Vip { public: virtual void online() { cout << "7折优惠" << endl; } }; class Common : public Vip { public: //接口继承,不继承基类中的实现,需要自己重写实现 ...
  • C++面向对象个基本特征

    千次阅读 2019-09-19 20:00:38
    封装是面向对象特征之一,是对象和类概念的主要特性. 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,...
  • 多态是C++面向对象三大特性之一 多态分为两类 静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名 动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定 - 编译...
  • 本篇文章简单梳理了下C++面向对象特性,即封装、继承、多态。
  • 传统的面向过程编程,数据以及对数据进行操作的函数都是分离的独立个体。 OOP提供了将数据和方法整合起来的途径——类和对象对象是类的实体,使程序更模块化,提升了代码重用水平。 封装 封装的思想是将内部...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 134,594
精华内容 53,837
关键字:

c++面向对象的三大特性

c++ 订阅