我有一个简单的代码,如下所示,其中Employee类应该从Person类继承。
/demo/project1
它给了我这个错误:
import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from 'vuex-persistedstate'
Vue.use(Vuex)
export default new Vuex.Store({
strict: true,
state: {
authData: {
token: null,
username: null,
cargo: null,
isAuthenticated: false
}
},
mutations: {
setAuthData (state, payload) {
state.authData.token = payload.token
state.authData.username = payload.username
state.authData.cargo = payload.cargo
if (payload.token) {
state.authData.isAuthenticated = true
} else {
state.authData.isAuthenticated = false
}
}
},
actions: {
setAuthData ({commit}, payload) {
commit('setAuthData', payload)
}
},
plugins: [
createPersistedState()
]
})
我检查了Python documentation中有关类的信息,它在子类的class Person:
def __init__(self, firstname, lastname, age):
self.firstname = firstname
self.lastname = lastname
self.age = age
def getname(self):
return self.firstname, self.lastname
def getage(self):
return self.age
class Employee(Person):
def __init__(self, first, last, empid, age):
Person.__init__(self, first, last, age):
self.empid = empid
def getemp(self):
return self.getname() + ", " + self.empid
employee = Employee("Bart", "Simpson", 1006, 16)
print(employee.getemp())
中没有超类的初始化。但是我发现在here这样的其他网站中,Dog继承自Pet。
所以,我想念什么?
答案 0 :(得分:2)
您什么都不丢失。您需要摆脱该行上的:
。
:
仅在原始定义之后,即def getname(self):
,并始终紧跟声明该功能的缩进行。调用函数时,请勿执行此操作。
答案 1 :(得分:0)
更改
Person.__init__(self, first, last, age):
至
super().__init__(first, last, age)