教师去教工餐厅吃饭!
教师
运行结果如下:
使用黑白墨盒在B5纸上打印。
定义一个正方形类Square,该类实现了IShape接口。Square类中有一个属性a表示正方形的边长,在构造方法中初始化该边长。创建Square类的实例对象,求该正方形对象的面积和周长
interface IShape{
getArea():number;
getLength():number;
}
class Square implements IShape{
private a:number;
constructor(a:number){
this.a=a;
}
get A():number{
return this.a;
}
set A(b:number){
this.a=b
}
getArea(): number {
return Math.pow(this.a,2)
}
getLength(): number {
return 4*this.a
}
}
let square=new Square(1)
console.log('正方形的面积:'+square.getArea());
console.log('正方形的边长:'+square.getLength());
编写一个学校接待方面的程序,其对应规则如下:用接口实现
身份 | 学生回寝室睡觉! 宿 |
创建一个接口IShape,接口中有一个求面积的方法“getArea()”和求周长的方法“getLength()”。 “fact(m:number):number;”方法的功能为求参数的阶乘。 招待所 |
“findFactor(m:number,n:number):boolean;”方法的功能为判断参数m加上参数n的和是否大于100。
运行结果:
家长回招待所睡觉
interface Person{
eat():void;
sleep():void;
}
class Student implements Person{
eat(): void {
console.log('学生去食堂吃饭')
}
sleep(): void {
console.log('学生在宿舍睡觉')
}
}
class Teacher implements Person{
eat(): void {
console.log('老师去教工餐厅吃饭')
}
sleep(): void {
console.log('老师回学校公寓睡觉')
}
}
class Parent implements Person{
eat(): void {
console.log('家长去招待所饭馆吃饭')
}
sleep(): void {
console.log('家长回招待所睡觉')
}
}
let stu1 = new Student();
let tea1 = new Teacher();
let par1 = new Parent();
stu1.eat();
stu1.sleep();
tea1.eat();
tea1.sleep();
par1.eat();
par1.sleep();
宿舍
招待所
使用黑白墨盒在A4纸上打印。
运行结果:
定义墨盒接口InkBox,约定墨盒的颜色。定义纸张接口Paper,约定纸张的大小。定义打印机类,引用墨盒接口、纸张接口实现打印功能。墨盒厂商按照InkBox接口实现ColorInkBox类和GrayInkBox类。纸张厂商按照Paper接口实现A4Paper类和B5Paper类。“组装”打印机,让打印机通过不同的墨盒和纸张实现打印功能。
使用彩色墨盒在B5纸上打印。
interface IlnkBox{
color:string;
}
interface IPaper{
size:string;
}
class ColorlnkBox implements IlnkBox{
color:string;
constructor(){
this.color = '彩色';
}
}
class GraylnkBox implements IlnkBox{
color: string;
constructor(){
this.color = '黑白';
}
}
class A4Paper implements IPaper{
size: string;
constructor(){
this.size = 'A4';
}
}
class B5Paper implements IPaper{
size: string;
constructor(){
this.size = 'B5';
}
}
class Prints implements IlnkBox, IPaper{
size: string;
color: string;
constructor(lnkBox:any, paper:any){
this.color = lnkBox.color;
this.size = paper.size;
}
print():void{
console.log(`使用${this.color}黑盒在${this.size}打印。`);
}
}
let colorlnkBox = new ColorlnkBox();
let graylnkBox = new GraylnkBox();
let A4 = new A4Paper();
let B5 = new B5Paper();
let lnkBox1 = new Prints(graylnkBox, A4);
let lnkBox2 = new Prints(graylnkBox, B5);
let lnkBox3 = new Prints(colorlnkBox, A4);
let lnkBox4 = new Prints(colorlnkBox, B5);
lnkBox1.print();
lnkBox2.print();
lnkBox3.print();
lnkBox4.print();
程序的运行效果为:
学生
程序运行效果如下:
食堂
教师食堂
定义类实现该接口,编写应用程序,调用接口中的3个方法,并将调用方法所得的结果输出。
interface ITest{
fact(m:number):number;
intPower(m:number,n:number):number;
findFactor(m:number,n:number):boolean;
}
class Realize implements ITest{
fact(m:number):number{
let sum=1;
for(let i=1;i<=m;i++){
sum =sum*i
}
return sum;
}
intPower(m:number,n:number):number{
return Math.pow(m,n);
}
findFactor(m:number,n:number):boolean{
if(m+n>100){
return true;
}else{
return false;
}
}
}
let realize=new Realize();
console.log('6的阶乘:'+realize.fact(6));
console.log('2的3次方:'+realize.intPower(2,3));
console.log('判断:'+realize.findFactor(50,80))
家长去招待所饭馆吃饭!
学校公寓
学生家长
教师回学校公寓睡觉!
题目
食
“intPower(m:number,n:number):number;”方法的功能为求参数m的n次方。
定义一个接口,接口中有3个抽象方法如下。
学生去食堂吃饭!
文章为作者独立观点,不代表股票交易接口观点