dzungchaos

Java: VD về lớp trừu tượng (cả giao diện)

Jul 2nd, 2020
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.33 KB | None | 0 0
  1. 1. Class HINH:
  2. public abstract class HINH
  3. {
  4.     public abstract double dienTich();
  5.     public abstract double chuvi();
  6. }
  7.  
  8. 2. Class HinhCau:
  9. public class HinhCau extends HinhTron implements IHinh3D{
  10.  
  11.     public HinhCau(double b)
  12.     {
  13.         super(b);
  14.     }
  15.    
  16.     @Override
  17.     public double dienTich()
  18.     {
  19.         return bk*bk*4*PI;
  20.     }
  21.  
  22.     @Override
  23.     public double chuvi()
  24.     {
  25.         return dienTich();
  26.     }
  27.    
  28.     @Override
  29.     public double theTich()
  30.     {
  31.         return 4/3*PI*bk*bk*bk;
  32.     }
  33.    
  34. }
  35.  
  36. 3. Class HinhCN:
  37. public class HinhCN extends HINH {
  38.     double dai,rong;
  39.    
  40.     public HinhCN(double d, double r)
  41.     {
  42.         dai = d; rong = r;
  43.     }
  44.    
  45.     @Override
  46.     public double dienTich()
  47.     {
  48.             return dai*rong;
  49.     }
  50.  
  51.     @Override
  52.     public double chuvi()
  53.     {
  54.             return 2*(dai+rong);
  55.     }
  56. }
  57.  
  58. 4. Class TamGiac:
  59. public class TamGiac extends HINH {
  60.     double c1,c2,c3;
  61.    
  62.     public TamGiac(double a, double b, double c)
  63.     {
  64.         c1 = a; c2 = b; c3 = c;
  65.     }
  66.    
  67.     @Override
  68.     public double dienTich()
  69.     {  
  70.         double p = (c1+c2+c3)/2;
  71.         return Math.sqrt(p*(p-c1)*(p-c2)*(p-c3));
  72.     }
  73.  
  74.     @Override
  75.     public double chuvi()
  76.     {
  77.         return (c1+c2+c3);
  78.     }
  79. }
  80.  
  81. 5. Class HinhTron:
  82. public class HinhTron extends HINH implements ITron
  83. {
  84.     protected double bk;
  85.    
  86.     public HinhTron(double b)
  87.     {
  88.         bk = b;
  89.     }
  90.    
  91.     @Override
  92.     public double dienTich()
  93.     {
  94.         return bk*bk*PI;
  95.     }
  96.  
  97.     @Override
  98.     public double chuvi()
  99.     {
  100.         return 2*bk*PI;
  101.     }
  102. }
  103.  
  104. 6. Interface ITron:
  105. public interface ITron {
  106.     public static final double PI = 3.14;
  107. }
  108.  
  109. 7. Interface Hinh3D:
  110. public interface IHinh3D {
  111.     public double theTich();
  112. }
  113.  
  114. 8. Main class:
  115. public class TINHDTICH {
  116.     public static void main(String args[]){
  117.  
  118.         HINH ds[] = new HINH[5];
  119.         ds[0] = new HinhTron(1.3);
  120.         ds[1] = new TamGiac(3,4,5);
  121.         ds[2] = new HinhCN(2,5);
  122.         ds[3] = new HinhTron(3.0);
  123.         ds[4] = new HinhCN(4,3);
  124.  
  125.         //Tính tổng diện tích các hình
  126.         double tongDT=0;
  127.  
  128.         for(int i=0; i<5; i++)
  129.             tongDT += ds[i].dienTich();
  130.         System.out.println("\nTong dien tich: " + tongDT);
  131.     }
  132.  
  133. }
Advertisement
Add Comment
Please, Sign In to add comment