9.采用面向对象方式求三角形面积

1.采用面向对象方式求三角形面积

(一)

1.采用面向过程的思路
  • 定义一个计算三角形面积的函数calcuateTriangleArea(double a, double b, double c),输入a、b、c,把输入的a、b、c作为参数传入calcuateTriangleArea()函数,得到计算结果。
    请添加图片描述
  • 运行程序,查看结果
    请添加图片描述
    请添加图片描述
2.采用面向对象的思路
  • 创建Triangle类,包含a、b、c私有属性,提供无参与有参构造方法,提供getters和setters,重写toString()方法,提供getArea()方法;创建TestTriangle类,创建Triangle对象,设置对象属性a、b、c,调用对象方法,计算出三角形面积
  • 定义三个缺省权限的双精度属性a、b、c,定义计算三角形面积的方法getArea(),返回值是双精度
    (1)利用三边关系定理判断能否构成三角形
  • 三边关系定理:任意两边之和大于第三边
    (2)如果能构成三角形,利用海伦公式来计算
    请添加图片描述
  • 类Triangle封装了数据(a、b、c)和操作(getArea()),封装(Encapsulation)是面向对象三大特性之一。
  • 创建一个测试类TestTriangle类,在其主方法里,创建Triangle对象,设置其属性,调用其方法,计算得到三角形面积
    请添加图片描述
  • 运行程序,查看结果
    请添加图片描述
    请添加图片描述
  • 缺省权限属性的不足:由于a、b、c是缺省权限属性,可以通过对象.属性名直接访问,比如triangle.a = -10;,边长不能为负,这样直接访问属性显然不合理,因此,我们应该将属性私有化,外界不能直接访问,而必须通过公共方法来设置和获取属性,于是私有属性得到有效的保护。
  • 如何实现类的封装:在定义一个类时,将类中的属性私有化,即使用private关键字来修饰,私有属性只能在它所在类中被访问,如果外界想要访问私有属性,需要提供一些使用public修饰的公有方法,其中包括用于获取属性值的getXXX()方法(简称getter)和设置属性值的setXXX()方法(简称setter)。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值