Javaのゼロベースのエントリ:インターフェースの実装(3)

ブロガーのプロフィール:
ブログのホームページ:Javaの知識共有ブロガー
Java Zeroの基本的な紹介コラム:Java Zeroの基本的な紹介コラム
Javaコミュニケーションコミュニティ:Flying Birdコミュニティ
記事が役に立ったら、気に入ってサポートしてください。

記事ディレクトリ


おすすめの読み物
Java Zero Basicの紹介:はじめに(1)
Java Zero Basicの紹介:実践的なチュートリアル(2)

問題の説明:

1.次のメソッドを含むインターフェイスShapeを定義します:double getArea()メソッドとdouble getPerimeter()メソッド

  • 上記のインターフェースを実装するための長方形クラスを定義します。
  • テストクラスを定義します。

Shape親クラスのインターフェース、Rectangleサブクラスのインターフェース実装を定義し、長さと幅、コンストラクター、実装メソッドを定義してから、メソッドを呼び出して面積と周囲長を出力します。

package test8;

interface Shape{
    
     //定义父类接口
	double getArea();
	double getPerimeter();
}
public class S1{
    
    
	public static void main(String[] args){
    
    
		Shape C1=new Rectangle(3.7,5.0);
		C1.getArea();
		C1.getPerimeter();
		System.out.println("矩形的面积:"+C1.getArea());
		System.out.println("矩形的周长:"+C1.getPerimeter());
		
	}
}
class Rectangle implements Shape {
    
      //接口的实现
  public double length;
  public double height;
  
  Rectangle(double x,double y){
    
      //构造函数
		length=x;
		height=y;
	}
  public double getArea(){
    
      //方法
	  return length*height;
  }
  public double getPerimeter(){
    
    
	  return 2*(length+height);
  }

}

ここに画像の説明を挿入

問題の説明:

2.学部生(StudentG)と修士学生(StudentM)の公的な方法を説明するインターフェースStudentを設計します。名前を設定し、学生IDを設定し、すべての情報を出力して、学生が優秀かどうかを判断します。このインターフェースに基づいて、StudentGとStudentMの2つのクラスを実装します。

  • StudentGの属性:名前、学生番号、CET4に合格したかどうか、および前年度の総合評価スコア。StudentGには、コンストラクター、CET4に合格するかどうかの設定、前年度の総合評価スコアの設定、インターフェースで定義されたすべてのメソッド(学部生の優れた基準は、CET4に合格すること、および前年度の総合評価スコア)が含まれます。年は85ポイントを超えています)。
  • StudentM属性:名前、学生番号、CET6に合格したかどうか、および公開された記事の数。StudentMには、コンストラクター、CET6を渡すかどうかの設定、公開された記事の数の設定、インターフェイスで定義されたすべてのメソッドのメソッドが含まれています(マスター学生の優れた標準はCET6で、公開された記事の数は1です)。
  • 要件
    (1)上記のインターフェイスとクラスを実装します
    (2)(メイン関数で)4つのオブジェクトをインスタンス化します:2人の学部生、2人のマスター学生(少なくとも1人は未解決)
    (3)学生情報のすべての属性を出力します。

Stuインターフェースの初期化を定義し、このインターフェースに基づいて2つのクラスStudentGとStudentMを実装します。名前、学生証、CET4 / CET6に合格したかどうか、昨年の総合評価結果、掲載記事数、abc()メソッドを呼び出してすべての情報を出力し、youxiu()メソッドを呼び出して判断するそれは素晴らしいです

package test8;

public class Student01 {
    
    

	public static void main(String[] args) {
    
    
		// TODO Auto-generated method stub
		StudentG s1 =new StudentG("本科张三","21924011",true,96);
		StudentG s2 =new StudentG("本科李四","21924012",false,63);
		s1.youxiu();s2.youxiu();       //调用方法

		StudentM t1 = new StudentM("硕士小华","21924014",true,5);
		StudentM t2 = new StudentM("硕士小讯","21924013",false,0);
		t1.youxiu();t2.youxiu();
		
		s1.abc();s2.abc();
		t1.abc();t2.abc();


	}

}

interface Stu{
    
     //定义接口名
	
	void abc();
	void youxiu();
	
}
class StudentG implements Stu{
    
     //接口的实现
	String name;
	String id;
	boolean Cet4;
	int score;
	public StudentG(String n,String Id,boolean CET4,int s){
    
      //构造函数,形参列表,通过实参传递参数赋值
		Cet4=CET4;
		score=s;
		name=n;
		id=Id;
	}

	public void abc(){
    
                   //被调用方法,输出所有信息
		System.out.println("姓名:"+name+" "+"学号:"+id+" "+
				          "是否过CET4:"+Cet4+" "+"上学年综合测评成绩:"+score
	                       );
	}
	public void youxiu(){
    
                //判断是否优秀
		if(Cet4&&score>85)
			System.out.println("姓名:"+name+"\t"+"优秀");
		else
			System.out.println("姓名:"+name+"\t"+"不优秀");
		
	}
	
	
}
class StudentM implements Stu{
    
    
	String name;
	String id;
	boolean Cet6;
	int wenzhang;
	
	public StudentM(String n,String ID,boolean CET6,int wz) {
    
    
		Cet6=CET6;
		wenzhang=wz;
		name=n;
		id=ID;
	}
	
	public void abc() {
    
    
		System.out.println("姓名:"+name+" "+"学号:"+id+" "+
		          "是否过CET6:"+Cet6+" "+"已发表文章篇数:"+wenzhang
                 );
	}
	public void youxiu(){
    
    
		if(Cet6&&wenzhang>1)
			System.out.println("姓名:"+name+"\t"+"优秀");
		else
			System.out.println("姓名:"+name+"\t"+"不优秀");
		
	}
}



ここに画像の説明を挿入
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/A6_107/article/details/124160037