├── src └── js │ ├── Student │ └── index.js │ ├── Teacher │ └── index.js │ ├── server.js │ └── Person │ └── index.js └── index.html /src/js/Student/index.js: -------------------------------------------------------------------------------- 1 | const {Person} = require('../Person') 2 | 3 | class Student extends Person { 4 | greeting() { 5 | console.log(`Yo, I'm ${this.name}`) 6 | } 7 | } 8 | 9 | exports.Student = Student -------------------------------------------------------------------------------- /src/js/Teacher/index.js: -------------------------------------------------------------------------------- 1 | const {Person} = require('../Person') 2 | 3 | class Teacher extends Person { 4 | constructor(data) { 5 | super(data); 6 | this.subject = data.subject 7 | } 8 | 9 | greeting() { 10 | console.log(`Hello, my name is ${this.name} and i teach ${this.subject}`) 11 | } 12 | } 13 | 14 | exports.Teacher = Teacher -------------------------------------------------------------------------------- /src/js/server.js: -------------------------------------------------------------------------------- 1 | const {Student} = require('./Student') 2 | const {Teacher} = require('./Teacher') 3 | 4 | const student = new Student({ 5 | name: 'Vlad', 6 | age: 26, 7 | gender: 'M', 8 | interests: 'programming', 9 | }) 10 | student.greeting() 11 | const teacher = new Teacher({ 12 | name: 'Oleg', 13 | age: 29, 14 | gender: 'M', 15 | interests: 'teach', 16 | subject: 'JS Pro', 17 | }) 18 | teacher.greeting() -------------------------------------------------------------------------------- /src/js/Person/index.js: -------------------------------------------------------------------------------- 1 | class Person { 2 | constructor(data) { 3 | this.name = data.name 4 | this.age = data.age 5 | this.gender = data.gender 6 | this.interests = data.interests 7 | this.bio = `${this.name} is ${this.age} years old. They like ${this.interests}` 8 | } 9 | 10 | greeting() { 11 | console.log(`Hi, I'm ${this.name}`) 12 | } 13 | } 14 | 15 | exports.Person = Person -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 7 | 8 |