Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Equivalent of c# class virtual member in TypeScript

So in C# when I've been creating model classes and lazy loading things, I do something like this:

public int? User_ID { get; set; }
public int? Dept_ID { get; set; }

Then a little farther down in my class I pop in my virtuals like so:

public virtual User User {get; set;}
public virtual Department Dept {get; set;}

How would I do this in Typescript? Something like this?:

User_ID: number;
Dept_ID: number;
User: User;
Dept: Department;

I don't think interfaces is what I want/need...but then again protected doesn't seem correct either. Something tells me I'm missing an obvious answer here.

like image 689
Indy-Jones Avatar asked Apr 27 '18 17:04

Indy-Jones


1 Answers

Yes there are ..

//non-abstract or abstract class
class A {
    
    // The virtual method
    protected virtualStuff1?():void;

    public Stuff2(){
        //Calling overridden child method by parent if implemented
        this.virtualStuff1 && this.virtualStuff1();
        alert("Baseclass Stuff2");
    }
}

//class B implementing virtual method
class B extends A{
    
    // overriding virtual method
    public virtualStuff1()
    {
        alert("Class B virtualStuff1");
    }
}

//Class C not implementing virtual method
class C extends A{
 
}

var b1 = new B();
var c1= new C();
b1.Stuff2();
b1.virtualStuff1();
c1.Stuff2();
like image 140
Moumit Avatar answered Sep 18 '22 00:09

Moumit