package day10Text;
/*3.编写两个类,TriAngle和TriAngleTest,其中TriAngle类中声明私有的底
边长base和高height,同时声明公共方法访问私有变量。此外,提供类
必要的构造器。另一个类中使用这些公共方法,计算三角形的面积。
*/
public class TriAngleTest {
public static void main(String[] args) {
TriAngle t1 = new TriAngle();
t1.setBase(3.0);
t1.setHeight(2.5);
/*t1.getBase();
t1.getHeight();
get方法要使用sysout输出语句执行*/
/*t1.base;The field TriAngle.height is not visible(报错)
不是说堆空间中没有这个属性,只是说不可以直接通过t1调这个属性,
而是因为这个属性私有化了,不可见了
t1.height;*/
System.out.println("base:" + t1.getBase() + "\t" + "height" + t1.getHeight());
//调set get 方法可以直接调用,不需要赋给一个新的变量
//***********************************************************************
//带参构造器
TriAngle t2 = new TriAngle(3,3);
System.out.println("base:" + t1.getBase() + "\t" + "height" + t1.getHeight());
System.out.println( "面积为:" + t2.area ());
}
}
class TriAngle {
//属性
private double base;//的·
private double height;
//构造器
public TriAngle(){//习惯性的给一个空参
}
public TriAngle(double a, double b){//带形参的构造器,会生成不是空参的构造器
base = a;
height = b;
//area = (base * height )/2;
}
//方法
public double area (){
return (base * height )/2;
}
//get,set方法通过空参的构造器调用,并赋值
public void setBase(double q){
base = q;
}
public double getBase(){
return base;//方法可以直接调属性
}
public void setHeight(double p){
height = p;
}
public double getHeight(){
return height;
}
}