设计工人类Worker ,继承类Person,显示工人姓名。
时间: 2024-05-07 15:23:57 浏览: 20
我可以回答你的问题。可以通过以下代码实现:
```
class Person:
def __init__(self, name):
self.name = name
class Worker(Person):
def __init__(self, name):
super().__init__(name)
def display_name(self):
print(self.name)
worker = Worker("张三")
worker.display_name() # 输出:张三
```
相关问题
java 设计工人类Worker ,继承类Person,显示工人姓名
好的,这个问题是关于编程设计的,我可以给出回答。下面是示例代码:
```
public class Person {
protected String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
public class Worker extends Person {
public Worker(String name) {
super(name);
}
public void displayWorkerName() {
System.out.println("工人姓名为:" + name);
}
}
```
使用这个代码,可以定义一个工人类Worker,它继承自Person类,可以显示工人姓名。当创建一个工人对象并调用displayWorkerName()方法时,会输出工人的姓名。
6. 设计person类,包括私有数据成员:姓名;设计student类继承person类,新增私有数据成员:班级;设计类worker继承person类,新增私有数据成员:职业;设计类studentworker继承student类和worker类,新增私有数据成员:工资;在主函数中定义一个studentworker类的对象,调用该对象的show函数输出该对象的信息。
下面是实现上述要求的C++代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Person {
private:
string name;
public:
Person(string n) : name(n) {}
virtual void show() {
cout << "Name: " << name << endl;
}
};
class Student : public Person {
private:
string className;
public:
Student(string n, string c) : Person(n), className(c) {}
void show() {
Person::show();
cout << "Class: " << className << endl;
}
};
class Worker : public Person {
private:
string job;
public:
Worker(string n, string j) : Person(n), job(j) {}
void show() {
Person::show();
cout << "Job: " << job << endl;
}
};
class StudentWorker : public Student, public Worker {
private:
double salary;
public:
StudentWorker(string n, string c, string j, double s) : Student(n, c), Worker(n, j), salary(s) {}
void show() {
Student::show();
Worker::show();
cout << "Salary: " << salary << endl;
}
};
int main() {
StudentWorker sw("Tom", "Class 1", "Teacher", 3000.0);
sw.show();
return 0;
}
```
在上述代码中,我们先定义了一个基类Person,它有一个私有数据成员name和一个虚函数show(),用于输出名字。然后我们定义了一个派生类Student,它新增了一个私有数据成员className,并重写了基类的show()函数,用于输出班级信息。接着我们定义了另一个派生类Worker,它新增了一个私有数据成员job,并重写了基类的show()函数,用于输出职业信息。最后我们定义了一个多重继承类StudentWorker,它同时继承了Student和Worker类,并新增了一个私有数据成员salary,用于存储工资信息。它也重写了基类的show()函数,用于输出学生和工人的信息以及工资信息。
在主函数中,我们定义了一个StudentWorker类的对象sw,并调用了它的show()函数,输出了该对象的信息。