`
mnieguomin
  • 浏览: 26729 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

抽象和继承

 
阅读更多

抽象应该尽可能有多的共同代码,而拥有尽可能少的数据,一个对象从超类继承来的代码,在不使用的时候不会造成资源浪费,而数据的移动是从抽象到具体,一个对象的数据不论是否使用都会占用资源。

 

继承关系分为:类对接口的实现和类对类的继承,只要有可能尽量使用合成,而不要使用继承达到复用的目的

 

使用继承关系:

1 子类是超类的一个特殊体而不是超类的一个角色,区分Has-AIs-A的不同,Has-A应该使用聚合关系描述,而只有Is-A关系才符合继承关系

2 永远不会出现将子类置换为另一个类的子类,如果不是很肯定一个类会不会在将来变成另一个类的子类的话,就不应该将这个类设计成当前这个超类的子类。

3 子类具有扩展超类的责任,而不是置换或者注销超类的责任。如果子类需要大量地置换或者注销掉超类的行为,那么这个子类不应该成为这个超类的子类。

4 只有在分类学角度上有意义时,才可以使用继承,不要从工具类继承。

分享到:
评论

相关推荐

    c++抽象类继承

    下面将详细介绍如何通过抽象类和继承在C++中实现特定的功能。 ### 概述 在这个示例中,我们有三个具体的类:`Student`、`Lecture` 和 `Module`,它们都继承自一个抽象基类 `UniversityObject`。`UniversityObject`...

    面向对象抽象思维与java继承机制

    通过这种方式,我们展示了如何使用面向对象的抽象和继承原则来构建一个简单但实用的类层次结构。 #### 总结 面向对象抽象和Java继承机制是现代软件开发中不可或缺的部分。通过抽象,我们可以将复杂的问题分解为更...

    Java抽象类和接口和继承之间关系

    "Java抽象类和接口和继承之间关系" Java抽象类和接口是两种不同的概念,它们之间存在着继承关系。在Java中,抽象类(abstract class)和接口(interface)都是用来描述对象的行为和状态的,但它们之间有着明显的...

    java-abstraction-inheritance:一个简单的Java控制台程序,使用抽象和继承的概念

    5. **控制台交互**:由于这是一个控制台程序,用户可能能够输入一些指令,如创建新的形状对象、计算面积等,程序将根据输入处理不同的形状对象,展示继承和抽象的威力。 通过这个项目,学习者可以更好地理解Java中...

    表面积和体积_抽象类Shape_shape类继承_

    这个程序将输出各个形状的表面积和体积,通过这种方式,我们可以直观地看到继承和抽象类在实际问题中的应用。 总结来说,"表面积和体积_抽象类Shape_shape类继承_"的主题展示了如何利用C++的面向对象特性来设计和...

    采用普通类,接口,和抽象类实现单继承和多继承增,删,改,查

    总结起来,通过普通类、接口和抽象类的组合使用,我们可以有效地实现单继承和多继承,并应用于CRUD操作。单继承保证了简洁的层次结构,而多继承和接口提供了更灵活的代码复用。抽象类则为子类设定了必须实现的基本...

    java中的继承和抽象

    java中的继承和抽象 欢迎大家来下载观看。有不足之处还望指点

    继承,虚函数,抽象类

    在编程世界中,继承、虚函数和抽象类是面向对象编程(OOP)中的核心概念。这三者共同构建了类的层次结构,使得代码更加模块化,易于维护和扩展。接下来,我们将深入探讨这三个概念及其相关用法。 首先,**继承**是...

    Java继承_抽象类与接口的应用.

    1.继承及继承实例 2.方法重写(Overwrite) 3.super关键字 4.方法重载(Overload) 5.final修饰符 6.abstract修饰符 7.抽象类 8.接口 9.接口和抽象类对比 10.接口和抽象类使用场合实例 11.总结

    \\java类、抽象类、接口、继承和对象解析 .doc

    Java 类、抽象类、接口和继承是面向对象编程的核心概念,它们构成了 Java 语言的基石。在 Java 中,类是用来封装数据和行为的结构,而对象则是类的实例,具有具体的属性和行为。 1. **类与对象的区别** 类是模板...

    继承和抽象类的总结

    这个文档总结概括了继承和抽象类的相关知识以及需要注意的事项

    da06抽象继承封装多态接口.zip

    在`da06抽象继承封装多态接口.zip`的案例中,开发者可能创建了一系列的类,通过这些类展示了Flutter中如何使用抽象、继承、封装和多态来设计和组织代码。通过运行Test文件,我们可以验证和理解这些概念在实际应用中...

    JAVA 继承基本类、抽象类、接口区别与联系

    2. **继承性**:基本类和抽象类都支持继承,但抽象类更强调行为的定义而不关心具体的实现;接口也支持“继承”,但实际上是一种实现关系。 3. **多继承**:Java不支持多重继承(即一个类直接继承多个类),但可以...

    学习笔记:抽象封装、继承、多态.doc

    在OOP中,最重要的四个概念是抽象、封装、继承和多态。 #### 二、抽象 抽象是指隐藏复杂性的过程,以便用户只需要关注如何使用对象,而不需要了解对象内部的工作原理。在面向对象编程中,可以通过接口和抽象类来...

    python继承和抽象类的实现方法

    在Python编程语言中,继承和抽象类是面向对象编程中的核心概念。继承允许我们创建一个新类(子类),该类具有另一个类(父类)的属性和方法,从而实现代码复用和类的分层结构。抽象类则是一种不能直接实例化的类,它...

    类的继承、抽象类、虚方法实现

    在编程领域,面向对象编程(OOP)是设计和实现软件的一种重要方法,它通过类、对象、继承、抽象和虚方法等概念来构建复杂的系统。让我们深入探讨这些概念,并通过实例来理解它们。 首先,类是面向对象编程的基础...

    一个使用了接口,抽象类,继承的JAVA类

    一个使用了接口,抽象类,继承的JAVA类,模拟了计算机的组装过程

    javase的抽象数据类型到继承的一些知识PPT,

    这个是javase的抽象数据类型到继承的部分的一些知识点,写到PPT上面了

    1.1:抽象方法与抽象类.pdf

    抽象类与抽象方法由abstract修饰 abstract的使用注意 抽象方法没有方法体 ...2.继承抽象类的子类必须把抽象类中的所有抽象成员都重写(实现)(除非子类也是抽象类。) 3.抽象类就是为了重写→多态。

Global site tag (gtag.js) - Google Analytics