Entrada de base cero de Java: implementación de la interfaz (3)

Perfil de Blogger: Página de
inicio del blog: blogger de intercambio de conocimiento
de Java Columna de introducción básica de Java Zero : Columna de introducción básica de Java Zero
Comunidad de comunicación de Java: Comunidad Flying Bird
¡Bienvenido a leer, si el artículo es útil para usted, dé me gusta y apóyelo!


Lectura recomendada
Introducción básica a Java Zero: Introducción (1)
Introducción básica a Java Zero: Tutorial práctico (2)

Descripción del problema:

1. Defina la forma de la interfaz, incluidos los siguientes métodos: método double getArea() y método double getPerimeter()

  • Defina una clase de rectángulo para implementar la interfaz anterior.
  • Definir clases de prueba.

Defina la interfaz de la clase principal Shape, la implementación de la interfaz de la subclase Rectangle, defina la longitud y el ancho, el constructor, el método de implementación y luego llame al método para generar el área y el perímetro.

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);
  }

}

inserte la descripción de la imagen aquí

Descripción del problema:

2. Diseñe una interfaz Student, que describa los métodos públicos de los estudiantes de pregrado (StudentG) y los estudiantes de maestría (StudentM): establezca el nombre, establezca la identificación del estudiante, genere toda la información y juzgue si el estudiante es excelente. Implemente dos clases StudentG y StudentM sobre la base de esta interfaz.

  • Atributos del alumno G: nombre, número de alumno, si ha superado el CET4 y la nota de la evaluación integral del curso anterior. StudentG contiene métodos: constructor, establecer si aprobar CET4, establecer el puntaje de evaluación integral del año escolar anterior, todos los métodos definidos en la interfaz (el estándar excelente para estudiantes de pregrado es aprobar CET4 y el puntaje de evaluación integral de la escuela anterior año es superior a 85 puntos).
  • Atributos de StudentM: nombre, número de alumno, si ha superado el CET6 y número de artículos publicados. StudentM contiene métodos: constructor, establecer si aprobar CET6, establecer la cantidad de artículos publicados, todos los métodos definidos en la interfaz (el excelente estándar para estudiantes de maestría es CET6 y la cantidad de artículos publicados es 1).
  • Requisitos :
    (1) Implementar la interfaz y la clase anteriores
    (2) (en la función principal) instanciar cuatro objetos: dos estudiantes de pregrado, dos estudiantes de maestría (al menos uno destacado)
    (3) Mostrar todos los atributos de la información de los estudiantes.

Defina la inicialización de la interfaz Stu e implemente dos clases StudentG y StudentM sobre la base de esta interfaz. Nombre, identificación del estudiante, si ha aprobado CET4/CET6, los resultados de la evaluación integral en el último año escolar, la cantidad de artículos publicados, llame al método abc() para generar toda la información y llame al método youxiu() para juzgar si es excelente

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"+"不优秀");
		
	}
}



inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/A6_107/article/details/124160037
Recomendado
Clasificación