继承和派生(1)—— 类与类之间的关系、继承的基本概念

1、类与类之间的关系

  has-A,uses-A 和 is-A

  has-A 包含关系,用以描述一个类由多个“部件类”构成。实现has-A关系用类成员表示,即一个类中的数据成员是另一种已经定义的类。

  uses-A 一个类部分地使用另一个类。通过类之间成员函数的相互联系,定义友员或对象参数传递实现。

  is-A 机制称为“继承”。关系具有传递性,不具有对称性。

class A
{
public:
    void funcA()
    {

    }
    int a;
};

//类B拥有类A的成员变量,B has A,类B 依赖于 类A
class B
{
public:
    void funcB()
    {

    }
    A a;
};

//类C的成员方法 需要类A的形参,C use A,类C 依赖于 类A
class C
{
public:
    void funcC(A *a)
    {

    }
    void funcCC()
    {

    }
};

//类D继承于类A, 类D如果是继承类A, 类D is 类A, 类C 继承于 类A,耦合度很高
class D:public A
{
public:
    void funcD()
    {
        cout << a << endl;
    }
};

2、继承的基本很概念

原文地址:https://www.cnblogs.com/yuehouse/p/9829324.html

时间: 2024-07-31 16:11:38

继承和派生(1)—— 类与类之间的关系、继承的基本概念的相关文章

PHP类和对象之间的关系

类是对象的描述: 类和对象之间的关系类似于建房子的图纸和房子: 创建类--new对象--用对象: 一.对象的两个特性: --对象的行为(功能):可以对对象施加操作,例如,电视机的开.关.转换频道: --对象的状态(属性):当施加操作时对象如何反应,例如,电视机的外形.尺寸.颜色等: 例子: 根据一份配置单组装六十台电脑,配置单里每增加一项配置,60台电脑各增加一厢配置. 1.配置单就是要创建的"类": 2.60台电脑就是创建的对象: 3.60台电脑间没有连系: 二.如何抽象一个类 1.

3.2-面向对象(类与对象之间的关系)

3.2 类与对象的关系 使用计算机语言就是不断的在描述现实生活中的事物. java中描述事物通过类的形式体现,类是具体事物的抽象,概念上的定义. 对象即是该类事物实实在在存在的个体 . 3.2.1  类与对象( 图例) 3.2.2  类的定义 生活中描述事物无非就是描述事物的属性和行为. ?  如:人有身高,体重等属性,有说话,打球等行为. Java中用类class来描述事物也是如此 ?  属性:对应类中的成员变量. ?  行为:对应类中的成员函数. 定义类其实在定义类中的成员(成员变量和成员函

UML图类,接口之间的关系

UML图类之间的关系(来自大话设计模式中的一张图,代表了类,接口之间的各种关系) 原文地址:https://www.cnblogs.com/linlf03/p/9735917.html

Part7 继承与派生 7.3基类与派生类类型转换

公有派生类对象可以被当作基类的对象使用,反之则不可. 派生类的对象可以隐含转换为基类对象: 派生类的对象可以初始化基类的引用: 派生类的指针可以隐含转换为基类的指针. 通过基类对象名.指针只能使用从基类继承的成员. //7-3类型转换规则举例 #include<iostream> using namespace std; class Base1{ public: void display() const { cout << "Base1::display()"

Java 中判断类和实例之间的关系

判断类与实例的关系有以下三种方式 1.instanceof关键字,用来判断对象是否是类的实例 (对象 => 类 )   2.isAssignableFrom,用来判断类型间是否存在派生关系 (类 = > 类)   3.isInstance方法,用来判断对象是否属于某个类型的实例 (类 => 对象 //use instanceof,用来判断对象是否是类的实例 System.out.println(new A() instanceof B);//类型比较 //use isAssignable

什么是类,什么是对象,类和对象之间的关系

类的概念:类是具有相同属性和服务的一组对象的集合.它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分.在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分. 对象的概念:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位.一个对象由一组属性和对这组属性进行操作的一组服务组成.从更抽象 的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用:它是一组属性和有权对这

【PHP面向对象(OOP)编程入门教程】2.什么是类,什么是对象,类和对象之间的关系

类的概念:类是具有相同属性和服务的一组对象的集合.它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分.在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分. 对象的概念:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位.一个对象由一组属性和对这组属性进行操作的一组服务组成.从更抽象 的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用:它是一组属性和有权对这

类的继承与派生

继承与派生 在教材中给出的对类的继承和派生的解释: "类的继承,是新的类从已有类那里得到已有的特性." "从已有的类产生新类的过程就是类的派生." 新的类是基类的派生类,新的类从基类处得到已有的特性. 一.继承与派生举例 新的类是基类的派生类,新的类从基类处得到已有的特性. 例1.写一个类student,再写一个Student类的派生类Undergraduate. 代码: #define _CRT_SECURE_NOWARNINGS #include<iost

静态联编,动态联编,类指针之间的关系,虚函数与多态性,纯虚函数,虚析构函数

1.静态联编,是程序的匹配,连接在编译阶段实现,也称为早期匹配.重载函数使用静态联编. 2.动态联编是指程序联编推迟到运行时进行,所以又称为晚期联编.switch语句和if语句是动态联编的例子. #include<iostream> void go(int num) { } void go(char *str) { } //class //::在一个类中 class A { public: void go(int num) { } void go(char *str) { } }; void