Skip to main content

understanding interface in typescript

1. interface is one of most important part of typescript they contain  properties function or event but only definition.



work code example->https://stackblitz.com/edit/typescript-gzh1np

example of interface is=>
//understanding interface in typescript
//a interface can be used liked a object in js
//for example
interface user
{
//string typer property
name:string,
//number type property
age:number
//string type property
occupation:string;
//height can be string or number :)
height:string|number
}
//create a instance of user
var manish:user={
name:"manish chauhan",
age:27,
occupation:"game developer",
height:30

}
//access a property
console.log(manish.name);
//example2------------------------------------------------>>
//interface can be nested for example suppose for example
//suppose a group of student from different class
interface student
{
studentName:string,
studentAge:number,
//student class can be string or number
studentClass:string|number,
//and optional parameter declare in a interface like below
dressCode?:string
}
//now student group which contain differnt class student
interface group
{
groupName:string,
group:student[]
}

//now there can a serval group inside one school so we create one more interface which contain holds all groups of one school
interface school
{
schoolName:string,
groups:group[];
}
//now solve this problem using nested interface

var myschool:school={
schoolName:"apj schoool",
groups:[
//first group
{
groupName:"apple group",
group:[
{
studentName:"manish rawat",
studentAge:18,
studentClass:"12"
} ,
{
studentName:"seema",
studentAge:18,
studentClass:"11"
},
{
studentName:"rahul",
studentAge:17,
studentClass:"11"
}
]
},
{
groupName:"mango group",
group:[
{
studentName:"jeet",
studentAge:18,
studentClass:"12"
} ,
{
studentName:"reena",
studentAge:18,
studentClass:"11"
},
{
studentName:"monu",
studentAge:17,
studentClass:"11"
}
]
}

]


}

//access any student
const student=myschool.groups[0].group[0];
console.log(student.studentName);
//access all student
//loop each group
myschool.groups.forEach((value,index)=>
{
//loop each group
value.group.forEach((subvalue,subindex)=>
{
//get each student value from each group
console.log(subvalue);
}
)
}
)
//using interface as a part of a class we can define all required function for a class
//class--------------------------
interface userInterFace
{
login(userName:string,password:student),
register(userName:string,password:student),
update(userId:number),
delete(userId:number)
}

class NewUser implements userInterFace
{
constructor()
{

}
login(userName:string,password:student)
{

}

register(userName:string,password:student)
{
}
update(userId:number)
{

}
delete(userId:number)
{

}
}
var x=new NewUser();
//x.update(2);  

Comments

Popular posts from this blog

Better Memory management with PixiJS or How to manage cpu and cpu memory in PixiJS.

PixiJS is my favorite framework when i am looking for a web games specially for mobile or desktop  PixiJS is fast blazing fast and you can get a decent FPS even on older device.   so here is my optimization techniques for PixiJs 1. manage your sprites in a better way use spritesheet to reduce the draw calls create big sprite sheet which contain multiple sprites can be draw in gpu with a single draw call. use TexturePacker  https://www.codeandweb.com/texturepacker  best tool when its comes to spritesheet 2. for floating point calculation round off calculation for example let  speed = 0.75 ; let  position = 100 ; console . log ( Math . round ( speed * position )) 3. don't create very big canvas when u need a big canvas size game just try to create a small canvas and translate it. 4. its very important one managing TextureCache in memory you can get all TextureCache list by using  Object.entries(PIXI.utils.TextureCache); so even you use ap...

adding particles Effect in pixijs using https://pixijs.io/pixi-particles-editor/

adding particle in pixijs is very easy using the below tool more information can be found below https://github.com/pixijs/pixi-particles https://pixijs.io/pixi-particles-editor/ required packages  /// < reference path = "node_modules/pixi-particles/ambient.d.ts" /> import 'pixi-particles' code of particle delcare a     global variable   private emitter ?: Emitter ; const img = PIXI . Texture . from ( "./assets/images/particle.png" ); this . emitter = new Emitter ( this ,[ img ],{ "alpha" : { "start" : 0.62 , "end" : 0.39 }, "scale" : { "start" : 0.1 , "end" : 0.9 , "minimumScaleMultiplier" : 1.25 }, "color" : { "start" : "#ffff8f" , "end" : ...