The public access modifier

If we use the public modifier, the method or property can be accessed by other objects. The following example redeclares the Person and Teacher classes that we have used in the preceding section. It is important to note that the public access modifier is used in all the properties of the class, but for this example, we are going to pay special attention to the property named email:

class Person { 
    public name: string; 
    public surname: string; 
    public email: string; 
    public constructor( 
        name: string, surname: string, email: string 
    ) { 
        this.email = email; 
        this.name = name; 
        this.surname = surname; 
    } 
    public greet() { 
        console.log("Hi!"); 
    } 
} 
 
class Teacher extends Person { 
    public teach() { 
        console.log("Welcome to class!"); 
    } 
} 

If we create an instance of both the Person and Teacher classes, we will be able to confirm that the email property can be accessed by both instances and by an external object such as the console object:

const person = new Person( 
    "Remo", 
    "Jansen", 
    "remo.jansen@wolksoftware.com" 
); 
 
const teacher = new Teacher( 
    "Remo", 
    "Jansen", 
    "remo.jansen@wolksoftware.com" 
); 
 
console.log(person.email); // ""remo.jansen@wolksoftware.com" 
console.log(teacher.email); // ""remo.jansen@wolksoftware.com"