您的位置:首页 > 移动开发 > 微信开发

关于继承和多态的小程序

2015-04-10 15:39 309 查看
今天下午参加了公司的一个小型技术测试,主要内容都是一些java的基础知识,选择题,判断题,几道编程填空题。不知道怎么衡量这套题的难度,因为我觉得这些题更偏概念性,考的东西感觉都学过,但是答案都叫不准,只能说自己基础还是比较差。今天上午看了一些javaSE的东西,看的最多的就是多态封装那块。也顺便看了下String类和Object类。

列出一些String中的常用方法。





从网上看到的一个关于继承和多态的小程序。


设计一个形状类Shape,方法:求周长和面积

形状类的子类:Rect(矩形),Circle(圆形)

Rect类的子类:Square(正方形)

不同的子类会有不同的计算周长和面积的方法

创建三个不同的形状对象,放在Shape类型的数组里,分别打印出每个对象的周长和面积

Test类

public class Test{
public static void main(String[] args){
Shape[] s=new Shape[3];

s[0]=new Rect(6,3);
s[1]=new Square(6);
s[2]=new Circle(5);

for(int i=0;i<s.length;i++){
System.out.println("周长:"+s[i].zhouChang());
System.out.println("面积:"+s[i].mianJi());
}

}
}


设计一个Shape类,并生成两个方法

public class Shape{
double zhouChang(){
return 0.0;
}
double mianJi(){
return 0.0;
}
}


矩形类继承Shape类

public class Rect extends Shape{
private double chang;
private double kuan;

public Rect(){

}

public Rect(double chang,double kuan){
this.chang=chang;
this.kuan=kuan;
}
public double zhouChang(){
return (chang+kuan)*2;
}
public double mianJi(){
return chang*kuan;
}
}


圆形类继承Shape类

public class Circle extends Shape{
private double r;

public Circle(){

}

public Circle(double r){
this.r=r;
}

public double zhouChang(){
return 2*3.1415926*r;
}

public double mianJi(){
return 3.1415926*r*r;
}
}


正方形类继承Rect类

public class Square extends Rect{
private double bianChang;

public Square(){

}

public Square(double bianChang){
super();
this.bianChang=bianChang;
}

public double zhouChang(){
return bianChang*4;
}

public double mianJi(){
return bianChang*bianChang;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: