当前位置:网站首页>3. Classe abstraite (forme)

3. Classe abstraite (forme)

2022-06-22 16:17:00 Xiao Murong.

3 Classe abstraite
Définir une classe abstraiteshape,Y compris la zone de calcul publiqueareaMéthodes,Calculer le volumevolumeMéthodes,Méthode de sortie des informations de baseprintinfo(Les trois méthodes sont abstraites).
DeshapeDérivationpointCatégorie,Ajouter des membres de données privéesx,yCoordonnées,Et la méthode de construction.DepointDérivationcircleCatégorie,Augmenter le rayon des membres de données privésr,Et la méthode de construction.
DecircleDérivationcylinderCatégorie,Augmenter la hauteur des membres de données privésh,Et la méthode de construction.
InmainDans la méthode,DéfinitionshapeObjet de la classe,Objet faisant référence à une classe dérivée,Exporter des informations de base sur trois types d'objets,Superficie,Volume.

public class Test {
    
	public static void main(String[] args) {
    
		System.out.println("Point");
		shape sp1 = new Point(2, 2);
		sp1.printinfo();
		System.out.println("Circle");
		shape sp2 = new Circle(2);
		sp2.printinfo();
		sp2.area();
		System.out.println("Cylinder");
		shape sp3 = new Cylinder(2);
		sp3.printinfo();
		sp3.volume();
	}
}

abstract class shape {
    
	abstract void area();

	abstract void printinfo();

	abstract void volume();
}

class Point extends shape {
    
	private int x, y;

	Point(int x, int y) {
    
		this.x = x;
		this.y = y;
	}

	int getx() {
    
		return x;
	}

	int gety() {
    
		return y;
	}

	@Override
	void area() {
    
		// TODO Auto-generated method stub

	}

	@Override
	void printinfo() {
    
		// TODO Auto-generated method stub
		System.out.println(getx() + "," + gety());
	}

	@Override
	void volume() {
    
		// TODO Auto-generated method stub

	}

}

class Circle extends Point {
    
	private int r;

	public Circle(int r) {
    
		super(2, 2);
		this.r = r;
	}

	int getr() {
    
		return r;
	}

	void area() {
    
		System.out.println("area:" + r * r * 3.14);
	}

	void printinfo() {
    
		System.out.println(getx() + "," + gety() + "," + getr());
	}
}

class Cylinder extends Circle {
    
	private int h;

	Cylinder(int h) {
    
		super(2);
		this.h = h;
	}

	int geth() {
    
		return h;
	}

	void printinfo() {
    
		System.out.println(getx() + "," + gety() + "," + getr() + "," + geth());
	}

	void volume() {
    
		System.out.println("volume:" + 3.14 * Math.pow(super.getr(), 2) * geth());
	}
}
原网站

版权声明
本文为[Xiao Murong.]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/173/202206221502449030.html