Student class test
Class test
by roge roge
HTML
<h1>
Student class test
</h1>
TypeScript
enum State {
Ko = "KO",
Unknown = "Unknown",
Ok = "OK",
}
interface Person {
firstname: string;
lastname: string;
}
interface StatedPerson extends Person {
state: State;
}
class Student implements StatedPerson {
fullname : string;
state = State.Unknown;
constructor(firstname, middleinitial = '', lastname = 'Unknown') {
this.fullname = firstname + " " + middleinitial + " " + lastname;
}
toString() {
return '{"firstname": '+ this.firstname
+ '", "middleinitial": "' + this.middleinitial
+ '", "lastname": "'+this.lastname
+ '", "fullname": "'+this.fullname
+ '", "state": "'+this.state
+'"}'
}
}
function greeter(person : Person) {
return "Hello, " + person.firstname + " " + person.lastname;
}
let jane = new Student("Jane", "Mss.", "F.");
let bob = new Student("Bob");
bob.state = State.Ok;
let div = document.createElement('div');
div.innerHTML = '<pre> jane: ' + jane + ' </pre>';
div.innerHTML += '<p>' + greeter(jane) + ' </p>';
div.innerHTML += '<pre> bob: ' + bob + ' </pre>';
div.innerHTML += '<p>' + greeter(bob) + ' </p>';
document.body.appendChild(div);