How to define interfaces in Dart?

前端 未结 4 1659
耶瑟儿~
耶瑟儿~ 2021-02-01 12:52

In Java, I might have an interface IsSilly and one or more concrete types that implement it:

public interfa         


        
4条回答
  •  心在旅途
    2021-02-01 13:04

    In Dart there is a concept of implicit interfaces.

    Every class implicitly defines an interface containing all the instance members of the class and of any interfaces it implements. If you want to create a class A that supports class B’s API without inheriting B’s implementation, class A should implement the B interface.

    A class implements one or more interfaces by declaring them in an implements clause and then providing the APIs required by the interfaces.

    So your example can be translate in Dart like this :

    abstract class IsSilly {
      void makePeopleLaugh();
    }
    
    class Clown implements IsSilly {
      void makePeopleLaugh() {
        // Here is where the magic happens
      }
    }
    
    class Comedian implements IsSilly {
      void makePeopleLaugh() {
        // Here is where the magic happens
      }
    }
    

提交回复
热议问题