一个类实现多个接口

1、作为mixins的类只能继承自object,不能继承自其他类

2、作为mixins的类不能有构造函数

多借口继承

abstract class A{
    String name;
    printA();
}
abstract class B{
    printB();
}
class C implements A,B{
    @override
    String name;
    @override
    printA(){
        print(‘A‘);
    }
    printB(){
        print(‘B‘);
    }
}
main(){}
    C c = new C();
    c.printA();
}

在dart中可以使用mixins实现类似多继承的功能,mixins不是继承,也不是接口

class A{
    String fanren = ‘烦人‘;
    void printA(){
        print(‘A‘);
    }
}
class B{
    void printB(){
        print(‘B‘);
    }
}
class C with A,B{ //C便具有A,B中所有方法
    var c = new C();
    c.printA();
    print(c.fanren);
}
//mixins的类只能继承自object,不能继承其他类(如果以上A继承了其他类,那么C便不能再继承A。A、B中没办法有mixins,那样的话就没办法进行mixins)
class Person{
    String name;
    num age;
    Person(this.name, this.age);
  print(){
    print(‘$(this.name)‘);
  }
}
class A{
    string info = "this is A";
    void printA(){
        print(‘A‘);
    }
}
class B{
    void printB(){
        print(‘B‘);
    }
}
class C extends Person with A,B{
    C(String name, num age):super(name,age);
}//如果A,B 中有同样的方法,则根据继承的顺序,最终B的方法会覆盖掉A

原文地址:https://www.cnblogs.com/xhrr/p/11443637.html

时间: 2024-11-09 21:03:43

一个类实现多个接口的相关文章

一个类实现多个接口的demo

//A接口 interface A{ public int getA(); } //B接口 interface B{ public int getB(); } //实现了某个接口必须实现其全部的方法 public class ImpAB implements A,B{ public int getA() { return 0; } public int getB() { return 0; } }

Java反射机制demo(四)—获取一个类的父类和实现的接口

Java反射机制demo(四)—获取一个类的父类和实现的接口 1,Java反射机制得到一个类的父类 使用Class类中的getSuperClass()方法能够得到一个类的父类 如果此 Class 表示 Object 类.一个接口.一个基本类型或 void,则返回 null.如果此对象表示一个数组类,则返回表示该 Object 类的 Class 对象. 测试代码: package com.aaron.reflect; public class Demo4 { public static void

Java TreeSet集合排序 && 定义一个类实现Comparator接口,覆盖compare方法 && 按照字符串长度排序

package TreeSetTest; import java.util.Iterator; import java.util.TreeSet; import javax.management.RuntimeErrorException; /* 可以对set集合中的元素进行排序,其底层的数据结构是二叉树, 保证元素唯一性的依据是compareTo和return 0; TreeSet排序的第一种方式 让元素自身具备比较性 元素需要实现Comparable接口,覆盖compareTo方法 这种方式

ATL实现一个组件多个dual接口,multidisp

最近想自己写个按键精灵的插件,于是接触到这个问题: 怎么在一个组件里实现两个自动化接口. 主要针对的ATL,MFC貌似没这个问题,具体MFC是怎么实现的自己没有深究. 按键精灵的插件会在一个组件里实现两个dispinterface,具体请看oleview工具截图: 刚开始对这个问题不理解,以为不是问题,自己用ATL尝试了几次,才发现不是那么回事,于是google之. MSDN上是这么说的,看这里 ATL不提供任何为将多个双重接口支持.IDispatch的单个实现. 但是,有几个已知的方法来手动合

Java实验3 类的多态性和接口

实验3 类的多态性和接口 一.实验目的 理解面向对象的多态性.理解接口和实现接口的类的关系,掌握一个类实现多个接口的声明和使用方法. 二.实验内容 1.程序理解: 接口的应用 //接口的应用 //定义一个PCI接口: interface PCI { void start(); // 定义抽象方法start() void stop(); // 定义抽象方法stop() } // 定义 NetworkCard类实现PCI接口 class NetworkCard implements PCI { //

Java语言程序设计 上机实验4 掌握声明接口、一个类实现接口的声明和使用方法

Java语言程序设计 上机实验4 实验目的: 理解接口的作用,理解接口和实现接口的类的关系,掌握声明接口.一个类实现接口的声明和使用方法:熟悉Java语言包和实用包中的常用类. 实验内容:(*)为选做 声明圆柱体类Cylinder,继承椭圆类Ellipse(实现周长Perimeter接口和面积Area接口),为圆柱体类设计较为全面的构造方法,并实现体积Volume接口,计算表面积和体积. 将Java的若干关键字(15个以上)保存在一个字符串数组中,对其按升序排列,再采用顺序查找和二分法查找,判断

java中,一个类实现某个接口,必须重写接口中的所有方法吗

不一定,关键要看子类是否是抽象类.如果子类是非抽象类,则必须实现接口中的所有方法: 如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在!1.抽象类定义抽象类往往用来表征对问题领域进行分析.设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象.通常在编程语句中用 abstract 修饰的类是抽象类.在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象:在java中,含有抽象方法的类称为抽象类,同样不能生成对象.抽象类是不完整的,它只能用作基类

35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n); (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和; (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n

  35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n): (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和: (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n!): (4)编写测试类E,在测试类E的main方法中使用接口回调的形式来测试实现 接口的类. p

Java基础-接口.编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法void printCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然 后写一个类Print实现接口InterfaceA和InterfaceB,要求 方法 实现输出大写英文字母表的功能,printLowerca

#34.编写2个接口:InterfaceA和InterfaceB:在接口InterfaceA中有个方法void printCapitalLetter():在接口InterfaceB中有个方法void printLowercaseLetter():然 后写一个类Print实现接口InterfaceA和InterfaceB,要求      方法 实现输出大写英文字母表的功能,printLowercaseLetter()方法实现输出小写英文 字母表的功能.再写一个主类E,在主类E的main方法中创建P