首页 > 解决方案 > How do I properly use super method for subclasses in Dart?

问题描述

I've recently learned object oriented python, and have been trying to learn Dart in the past few days. However, I'm having trouble learning how to make subclasses.

This is the result I want to achieve, in python:

class Employee:

  def __init__(self, fistName, lastName, pay):
    self.firstName = firstName
    self.lastName = lastName
    self.pay = pay

class Developer(Employee):

  def __init__(self, firstName, lastName, pay, languages):
    super().__init__(firstName, lastName, pay)
    self.languages = languages

developer = Developer('John', 'Doe', 5000, ['Python', 'Java'])

In dart, this is the code I have so far:

class Employee {

  String firstName;
  String lastName;
  num pay;

  Employee(this.firstName, this.lastName, this.pay);
}

class Developer extends Employee{

  List<String> languages;

  Developer(?);
}

void main(){ 
  var developer = new Developer('John', 'Doe', 5000, ['Python', 'Java'])
}

How do I complete the code so that I get the same result as in python?

标签: pythonclassdart

解决方案


你可以这样做

class Employee {

  String firstName;
  String lastName;
  num pay;

  Employee(this.firstName, this.lastName, this.pay);
}

class Developer extends Employee{

  List<String> languages;

  Developer(String firstName, String lastName, num pay, this.languages): super(firstName, lastName, pay);
}

void main(){ 
  var developer = new Developer('John', 'Doe', 5000, ['Python', 'Java']);
}

推荐阅读