Python
Помогите пж Важно:Когда нажимаешь на run в программе, должно показывать информацию о человеке, о учителе и о директоре.
Реализовать родительский класс человека, а также дочерние классы директора, преподавателя и ученика. Описать для каждого класса необходимые свойства и методы.Важно: директор помимо своих обязанностей может также и преподавать(множественное наследование).
program person_info;
type
person = class
private
name: string;
age: integer;
public
constructor create(n: string; a: integer);
procedure show_person; virtual;
end;
teacher = class(person)
private
subject: string;
public
constructor create(n: string; a: integer; s: string);
procedure show_person; override;
end;
student = class(person)
private
grade: integer;
public
constructor create(n: string; a: integer; g: integer);
procedure show_person; override;
end;
director = class(person)
private
duty: string;
public
constructor create(n: string; a: integer; d: string);
procedure show_person; override;
function teach(subj: string): teacher;
end;
constructor person.create(n: string; a: integer);
begin
name := n;
age := a;
end;
procedure person.show_person;
begin
writeln('Name: ', name);
writeln('Age: ', age);
end;
constructor teacher.create(n: string; a: integer; s: string);
begin
inherited create(n, a);
subject := s;
end;
procedure teacher.show_person;
begin
inherited show_person;
writeln('Subject: ', subject);
end;
constructor student.create(n: string; a: integer; g: integer);
begin
inherited create(n, a);
grade := g;
end;
procedure student.show_person;
begin
inherited show_person;
writeln('Grade: ', grade);
end;
constructor director.create(n: string; a: integer; d: string);
begin
inherited create(n, a);
duty := d;
end;
procedure director.show_person;
begin
inherited show_person;
writeln('Duty: ', duty);
end;
function director.teach(subj: string): teacher;
begin
result := teacher.create(name, age, subj);
end;
var
p1, p2, p3: person;
begin
p1 := person.create('John Doe', 30);
p2 := teacher.create('Jane Doe', 40, 'Mathematics');
p3 := director.create('Jim Doe', 50, 'School Director');
writeln('Person:');
p1.show_person;
writeln;
writeln('Teacher:');
p2.show_person;
writeln;
writeln('Director:');
p3.show_person;
writeln;
writeln('Director as a Teacher:');
p3.teach('English').show_person;
end.
type
person = class
private
name: string;
age: integer;
public
constructor create(n: string; a: integer);
procedure show_person; virtual;
end;
teacher = class(person)
private
subject: string;
public
constructor create(n: string; a: integer; s: string);
procedure show_person; override;
end;
student = class(person)
private
grade: integer;
public
constructor create(n: string; a: integer; g: integer);
procedure show_person; override;
end;
director = class(person)
private
duty: string;
public
constructor create(n: string; a: integer; d: string);
procedure show_person; override;
function teach(subj: string): teacher;
end;
constructor person.create(n: string; a: integer);
begin
name := n;
age := a;
end;
procedure person.show_person;
begin
writeln('Name: ', name);
writeln('Age: ', age);
end;
constructor teacher.create(n: string; a: integer; s: string);
begin
inherited create(n, a);
subject := s;
end;
procedure teacher.show_person;
begin
inherited show_person;
writeln('Subject: ', subject);
end;
constructor student.create(n: string; a: integer; g: integer);
begin
inherited create(n, a);
grade := g;
end;
procedure student.show_person;
begin
inherited show_person;
writeln('Grade: ', grade);
end;
constructor director.create(n: string; a: integer; d: string);
begin
inherited create(n, a);
duty := d;
end;
procedure director.show_person;
begin
inherited show_person;
writeln('Duty: ', duty);
end;
function director.teach(subj: string): teacher;
begin
result := teacher.create(name, age, subj);
end;
var
p1, p2, p3: person;
begin
p1 := person.create('John Doe', 30);
p2 := teacher.create('Jane Doe', 40, 'Mathematics');
p3 := director.create('Jim Doe', 50, 'School Director');
writeln('Person:');
p1.show_person;
writeln;
writeln('Teacher:');
p2.show_person;
writeln;
writeln('Director:');
p3.show_person;
writeln;
writeln('Director as a Teacher:');
p3.teach('English').show_person;
end.
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
getInfo() {
return `Name: ${this.name}, Age: ${this.age}`;
}
}
class Teacher extends Person {
constructor(name, age, subject) {
super(name, age);
this.subject = subject;
}
getInfo() {
return `${super.getInfo()}, Subject: ${this.subject}`;
}
teach() {
console.log(`${this.name} is teaching ${this.subject}.`);
}
}
class Director extends Teacher { // директор помимо своих обязанностей может также и преподавать (множественное наследование).
constructor(name, age, subject, department) { //добавляем department - отдел/кафедру/школу/учреждения/институты...
super(name, age, subject); //вызываем конструктор Person + Teacher
this.department = department; //добавляем department - отдел/кафедру/школу/учреждения/институты...
}
getInfo() { //модифицирум getInfo()
return `${super.getInfo()}, Department: ${this.department}`; //добавлям Department: ${this.department}
}
manageDepartment(){ //мы можем добавляь manageDepartment(), manageSchool(), manageInstitute(), ...
console.log(`${this.name} is managing the ${this.department}.`); //${this.department} - department - отдел/кафeдрa/шкoлa/учpéжdénie/ínsTíTúT...
}
}
class Student extends Person{ //Student - cTudent - účenik
constructor(name, age, course){ //course - kurs
super(name, age); //výzyvaem konstrúkTor Person
this.course = course; //dobávaem course - kurs
}
getInfo(){ //modificiruem getInfo()
return `${super.getInfo()}, Course: ${this.course}`; //dobávaem Course: ${this..course}
} //studyCourse(); learnCourse(); ... studyCourse(){ console . log ( ` $ { this . name } is studying $ { this . course } . ` ) ; }} run(){ const person = new Person('John', 25); const teacher = new Teacher('Mary', 35, 'Math'); const director = new Director('Jack', 45,'English','School'); const student = new Student('Kate', 18,'History'); console . log ( person . getInfo ( ) ) ; console . log ( teacher . getInfo ( ) ) ; console . log ( director . getInfo ( ) ) ; console . log ( student . getInfo ( ) ) ; teacher . teach ( ) ; director . teach ( ) ; director . manageDepartment(); student . studyCourse(); }}
constructor(name, age) {
this.name = name;
this.age = age;
}
getInfo() {
return `Name: ${this.name}, Age: ${this.age}`;
}
}
class Teacher extends Person {
constructor(name, age, subject) {
super(name, age);
this.subject = subject;
}
getInfo() {
return `${super.getInfo()}, Subject: ${this.subject}`;
}
teach() {
console.log(`${this.name} is teaching ${this.subject}.`);
}
}
class Director extends Teacher { // директор помимо своих обязанностей может также и преподавать (множественное наследование).
constructor(name, age, subject, department) { //добавляем department - отдел/кафедру/школу/учреждения/институты...
super(name, age, subject); //вызываем конструктор Person + Teacher
this.department = department; //добавляем department - отдел/кафедру/школу/учреждения/институты...
}
getInfo() { //модифицирум getInfo()
return `${super.getInfo()}, Department: ${this.department}`; //добавлям Department: ${this.department}
}
manageDepartment(){ //мы можем добавляь manageDepartment(), manageSchool(), manageInstitute(), ...
console.log(`${this.name} is managing the ${this.department}.`); //${this.department} - department - отдел/кафeдрa/шкoлa/учpéжdénie/ínsTíTúT...
}
}
class Student extends Person{ //Student - cTudent - účenik
constructor(name, age, course){ //course - kurs
super(name, age); //výzyvaem konstrúkTor Person
this.course = course; //dobávaem course - kurs
}
getInfo(){ //modificiruem getInfo()
return `${super.getInfo()}, Course: ${this.course}`; //dobávaem Course: ${this..course}
} //studyCourse(); learnCourse(); ... studyCourse(){ console . log ( ` $ { this . name } is studying $ { this . course } . ` ) ; }} run(){ const person = new Person('John', 25); const teacher = new Teacher('Mary', 35, 'Math'); const director = new Director('Jack', 45,'English','School'); const student = new Student('Kate', 18,'History'); console . log ( person . getInfo ( ) ) ; console . log ( teacher . getInfo ( ) ) ; console . log ( director . getInfo ( ) ) ; console . log ( student . getInfo ( ) ) ; teacher . teach ( ) ; director . teach ( ) ; director . manageDepartment(); student . studyCourse(); }}
Engage [Ex-Sushi]
Спасибо)
Похожие вопросы
- Помогите пж, я новичок в языке python.
- Пайтон мучаюсь уже долго потому что уже 2 день на пайтоне но фига неправилно пишу помогите пж
- ЗАДАЧА ПО ПИТОНУ ПОМОГИТЕ ПЖ
- Помогите пж с задачей по Python.
- Информатика дз на языке питон, помогите пж
- Помогите понять г*вно ли код? Необходимо написать программу, которая определяет число просто или составное.
- Код на программу python пж
- Напишите пж программу на Питоне
- Помогите программу на Питоне правильно составить.
- Помогите написать программу на Python, моя версия кода на скрине, вроде всё работает, но автопроверка не проходит.