第二章 类与对象2

来源:互联网 发布:东西的知乎 编辑:程序博客网 时间:2024/05/30 22:59

课堂练习4:

编写代码模拟手机与SIM卡的组合关系。

要求:

           SIM卡类负责创建SIM卡;

           Phone类负责创建手机;

          手机可以组合一个SIM卡;

        手机可以更换其中的SIM卡。


package leiyuduixiang;


public class SIM {
    long hao;
    void readhao(long hao){
    this.hao=hao;
    }
    long sethao(){
    return hao;
    }
    
}

package leiyuduixiang;

public class phone {

     SIM sim;
     void setsim(SIM sim){
    this.sim=sim;
     }
    long getsim(){
    return sim.sethao();
     } 

package leiyuduixiang;


import java.util.Scanner;


public class testphone {


public static void main(String[] args) {
SIM s=new SIM();
phone p=new phone();
Scanner in=new Scanner(System.in);
System.out.print("输入手机号:");
s.hao=in.nextLong();
p.setsim(s);
System.out.println("原来手机号:"+p.getsim());
System.out.println("输入手机号:");
s.hao=in.nextLong();
p.setsim(s);
System.out.print("更换后手机号:"+p.getsim());
}


}


课堂练习5:


package leiyuduixiang;


public class Cpu {
int speed;
void setSpeed(int speed){
this.speed=speed;
}
int getSpeed()
{
return speed;
}


}

package leiyuduixiang;


public class HardDisk {
int amount;
void setAmount(int amount){
this.amount=amount;
}
int getAmount()
{
return amount;
}
}

package leiyuduixiang;


public class Pc {
Cpu cpu;
HardDisk hd;
void setCpu(Cpu cpu){
this.cpu=cpu;
}
void setHardDisk(HardDisk hd){
this.hd=hd;
}
void show(){
System.out.println("CPU速度为:"+cpu.getSpeed());
System.out.println("硬盘容量为:"+hd.getAmount());
}
}

package leiyuduixiang;


public class testpc {


public static void main(String[] args) {
// TODO Auto-generated method stub
Cpu cpu=new Cpu();
cpu.setSpeed(2200);
HardDisk disk=new HardDisk();
disk.setAmount(200);
Pc pc=new Pc();
pc.setCpu(cpu);
pc.setHardDisk(disk);
pc.show();
}
}


课堂练习6:

–      定义一个圆类(Circle),其所在的包为bzu.info.software;定义一个圆柱类Cylinder,其所在的包为bzu.info.com;定义一个主类A,其所在的包也为bzu.info.com,在A中生成一个Cylinder对象,并输出其体积。编译并运行该类。

–      试着改变求体积方法的访问权限,查看并分析编译和运行结果

–      把Cylinder类和A类置于不同的包中,通过对求体积方法设置不同的访问权限,查看并分析编译和运行结果


package bzu.info.software;


public class Circle {
double radius,area;  
public Circle(double r){  
      radius =r;  
      }  
  public  void setRadius(double r){  
          radius=r;         
      }  
     public   double getRadius(){  
          return radius;  
      }  
     public double getArea(){  
          area=3.14*radius*radius; 
          return area;  
      }  
}

package bzu.info.software;


public class Cylinder {
Circle bottom;  
   double height;  
   double volume;  
   Cylinder(Circle b,double h){  
       bottom=b;  
       height=h;  
   }  
   double getVolume(){   
       volume=bottom.getArea()*height;  
       return volume;    
   }  
   double getBottomRadius(){
       return bottom.getRadius();   
   }
}

package bzu.info.software;


public class A {


public static void main(String[] args) {
// TODO Auto-generated method stub

}



原创粉丝点击