这是等腰三角形,等边三角形,直角三角形,等腰直角三角形,它们的父类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 三角形
{class parent{/// <summary>/// 判断三条边,并传值/// </summary>/// <param name="a">第一条边</param>/// <param name="b">第二条边</param>/// <param name="c">第三条边</param>public parent(int a, int b, int c){if (a+b>c&&a+c>b&&b+c>a){this.A = a;this.B = b;this.C = c;}else{Console.WriteLine("这三条边不能构成三角形!");}}int a;/// <summary>/// 边1/// </summary>public int A{get { return a; }set{if (value>0){a = value;}else{Console.WriteLine("请输入一个大于0的数");a = 0;}}}int b;/// <summary>/// 边2/// </summary>public int B{get { return b; }set{if (value > 0){b = value;}else{Console.WriteLine("请输入一个大于0的数");b = 0;}}}int c;/// <summary>/// 边3/// </summary>public int C{get { return c; }set{if (value > 0){c = value;}else{Console.WriteLine("请输入一个大于0的数");c = 0;}}}/// <summary>/// 三角形的周长/// </summary>public int GetRoungLong(){return a + b + c;}}
}

父类下面还有两个子类,分别是等腰三角形和直角三角形

等腰三角形

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 三角形
{class DengYao : parent{public DengYao(int a, int b, int c) : base(a, b, c){if (a==b || b==c || c==a){if (a==b){d = c;h = Math.Sqrt(a * a - (c / 2) * (c / 2));}if (a == c){d = b;h = Math.Sqrt(a * a - (b / 2) * (b / 2));}if (c == b){d = a;h = Math.Sqrt(c * c - (a / 2) * (a / 2));}Console.WriteLine("等腰三角形");}}int d;double h;/// <summary>/// 底边/// </summary>public int D{get { return d; }set { d = value; }}/// <summary>/// 三角形的高/// </summary>public double H{get { return h; }set { h = value; }}/// <summary>/// 等腰三角形的面积/// </summary>/// <returns></returns>public double GetMianJi(){return D * H / 2;}}
}

直角三角形

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 三角形
{class ZhiJiao : parent{public ZhiJiao(int a, int b, int c) : base(a, b, c){if ((a*a+b*b==c*c) || (a*a+c*c==b*b) || (c*c+b*b==a*a)){if (a * a + b * b == c * c){d = a;h = b;}if (a * a + c * c == b * b){d = a;h = c;}if (c * c + b * b == a * a){d = c;h = b;}Console.WriteLine("直角三角形");}}int d;int h;/// <summary>/// 直角三角形的底边/// </summary>public int D{get { return d; }set { d = value; }}/// <summary>/// 直角三角形的高/// </summary>public int H{get { return h; }set { h = value; }}/// <summary>/// 计算直角三角形的面积/// </summary>public int GetMianJi(){return D * H / 2;}}
}

等腰三角形下有一个子类,等边三角形

等边三角形

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 三角形
{class DengBian : DengYao{public DengBian(int a, int b, int c) : base(a, b, c){if (a==b && b==c){Console.WriteLine("等边三角形");}}}
}

直角三角形下有一个子类,等腰直角三角形

等腰直角三角形

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 三角形
{class DengYaoZhiJiao : ZhiJiao{public DengYaoZhiJiao(int a, int b, int c) : base(a, b, c){if ((a == b || b == c || c == a)  && (a * a + b * b == c * c) || (a * a + c * c == b * b) || (c * c + b * b == a * a)){Console.WriteLine("等腰直角三角形");}}}
}

在Main函数中实现,通过实例化来进行调用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 三角形
{class Program{static void Main(string[] args){Console.WriteLine("请输入第一条边:");int a = int.Parse(Console.ReadLine());Console.WriteLine("请输入第二条边:");int b = int.Parse(Console.ReadLine());Console.WriteLine("请输入第三条边:");int c = int.Parse(Console.ReadLine());//等边DengBian dy = new DengBian(a,b,c);int zc = dy.GetRoungLong();Console.WriteLine(zc);double mj = dy.GetMianJi();Console.WriteLine(mj);//等腰直角DengYaoZhiJiao zj = new DengYaoZhiJiao(a,b,c);int zc2 = zj.GetRoungLong();Console.WriteLine(zc2);double mj2 = zj.GetMianJi();Console.WriteLine(mj2);Console.ReadLine();}}
}

C#通过类的继承来实现判断任意一个三角形并求出它们的周长及面积(等腰三角形,等边三角形,直角三角形,等腰直角三角形)相关推荐

  1. C/C++语言:判断任意一个年份 n 是否是闰年

    题目 判断任意一个年份 n 是否是闰年 策略 闰年的条件: (1)能被 4 整除,但不能被 100 整除的年份都是闰年,如 1996 年.2008 年.2012 年都是闰年: (2)能被 400 整除 ...

  2. 判断任意一个二维数组里是否有鞍点(多个鞍点和单个鞍点均能判断),以及鞍点的输出(c语言)

    首先,我们要知道什么是鞍点 鞍点的定义与实例: 定义:鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值. 实例: 只有一个鞍点(只有3 是鞍点 ).    1      2     ...

  3. Python判断是否构成三角形,求三角形面积

    求三角形面积 from math import sqr a = float(input('a = ')) b = float(input('b = ')) c = float(input('c = ' ...

  4. 实验三-2-2、 输入三角形的3条边a、b、c,判断它们能否构成三角形。若能构成三角形,求出三角形面积,若不能,输出“不能构成三角形”。(三角形面积area=sqrt(s*(s-a)*(s-b)*(s

    #include<stdio.h> #include<math.h> int main() { float a,b,c,s,area; printf("Please ...

  5. 输入一个三角形的三条边,判断有这三条边能否构成一个三角形,如果是,输出周长,不是,输出非法三角形。

     三角形判定条件:任意俩边之和大于第三边,任意俩边之差小于第三边. Scanner scanner = new Scanner(System.in); System.out.println(" ...

  6. java实验33 类的继承2_java实验2 类的继承性

    实验2 类的继承性 一.实验目的 掌握面向对象的继承性在Java中的实现方法:掌握super关键字的用法,体会抽象类和抽象方法的作用. 二.实验内容 1.程序理解: 1)类的继承 2)第4章课后编程第 ...

  7. php protected 的继承,14 PHP 类的继承 [public protected private] parent 构造方法 析构方法 重写 最终类和方法 设计模式...

    类的继承 简单理解: 某个类A具有某些特征,另一个类B,也具有A类的所有特征,并且还可能具有自己的更多的一些特征,此时,我们就可以实现:B类使用A的特征信息并继续添加自己的一些特有特征信息. 基本概念 ...

  8. java继承孙子类_Java:类与继承

    Java:类与继承 对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础.抽象.封装.继承.多态 这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关 ...

  9. Java类的继承关键字_Java的第八天(类的继承、super关键字的使用、方法的重写)...

    39.类的继承java 描述类的时候,咱们若是发现有几个类有重复的属性和方法,咱们就能够采用继承的方法来设计ide 使用extends关键字来继承this 语法:设计 class 子类 extends ...

最新文章

  1. 我的世界服务器称号显示,服务器插件 称号 超级好用
  2. 图像“颜色选择”怎么用?
  3. js滑动到底部加载更多
  4. MySQL去除查询结果重复值
  5. JAVA Timer 定时器
  6. 【web前端面试题整理05】做几道前端面试题休息休息吧
  7. 完全关闭App的两种做法
  8. HBase内置过滤器java api的总结
  9. 解析烧录固件失败_Sophos UTM固件反编译Perl源码
  10. Java大数据应用领域及就业方向
  11. HTML/CSS/Javascript注册登陆界面全模版(表单验证/验证码生成/敏感词屏蔽/炫酷动画/账号信息储存)
  12. 史上最详细唇语识别数据集综述
  13. CTFHub-SSRF(全部)
  14. [附源码]JAVA毕业设计美食推荐管理系统(系统+LW)
  15. oracle创建存储过程设置变量,oracle建游标变量包,且在存储过程中使用
  16. [转]局域网共享一键修复 18.5.8 https://zhuanlan.zhihu.com/p/24178142
  17. Maven 管理不同jdk版本的jar,war,eba
  18. CISCO 3750 BUG
  19. 2019年网课 高校邦 魅力数学 测试题
  20. NOIp(lus)2017总结

热门文章

  1. URL Schemes 使用详解
  2. macos 10.15 软件损坏/无法验证开发者
  3. 在Android的 设置-显示 中增加控制屏幕旋转方向的选项
  4. vue 中实现动态切换背景图
  5. 性能测试从入门到高级进阶之路(二):小白教程influxdb+grafana+jmeter性能监控平台
  6. Google drive谷歌网盘下载副本文件无法调用IDM解决方法
  7. pathon和c语言的区别
  8. 数据可视化图表类型_数据可视化中12种最常见的图表类型
  9. TaoFramework
  10. halcon物体周边毛刺检测