设计Windows应用程序,该程序定义平面图形抽象类和其派生类圆、矩形和三角形。
设计一个Windows应用程序,该程序定义平面图形抽象类和其派生类圆、矩形和三角形。该程序实现的功能包括:输入相应图形的参数,如矩形的长和宽,单击相应的按钮,根据输入参数创建图形类并输出该图形的面积。
(1)常见一个Windows应用程序——Myproject6_1
(2)添加控件,输入框的name属性分别为:txtdata1、txtdata2、txtdisplay,按钮的name分别为:btnCircle、btnRect、btnTran。如图:
(3)代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Myproject6_1
{
public partial class Form1 : Form
{public Form1(){InitializeComponent();}
//“圆”按钮单击事件private void btnCircle_Click(object sender, EventArgs e){if (txtdata1.Text == "")MessageBox.Show("请输入圆的半径!!");else{int data1 = Convert.ToInt32(txtdata1.Text);Circle shape1 = new Circle(data1);txtdisplay.Text += shape1.Display("圆");txtdata1.Text = "";}}//“矩形”按钮的单击事件private void btnRect_Click(object sender, EventArgs e){if (txtdata1.Text == "" )MessageBox.Show("请输入矩形的长!!");else if(txtdata2.Text == "")MessageBox.Show("请输入矩形的宽!!");else{int data1 = Convert.ToInt32(txtdata1.Text);int data2 = Convert.ToInt32(txtdata2.Text);Rectangle shape2 = new Rectangle(data1,data2);txtdisplay.Text += shape2.Display("矩形");txtdata1.Text = "";txtdata2.Text = "";}}
//“三角形”按钮的单击事件
private void btnTran_Click(object sender, EventArgs e)
{
if (txtdata1.Text == “” )
MessageBox.Show(“请输入三角形的底!!”);
else if(txtdata2.Text == “”)
MessageBox.Show(“请输入三角形的高!!”);
else
{
int data1 = Convert.ToInt32(txtdata1.Text);
int data2 = Convert.ToInt32(txtdata2.Text);
Trangle shape3 = new Trangle(data1, data2);
txtdisplay.Text += shape3.Display(“三角形”);
txtdata1.Text = “”;
txtdata2.Text = “”;
}
}
}
//平面图形抽象类
public abstract class Shape
{
public abstract double Area();
public string Display(string type)
{
string str;
if (type == “圆”)
str = string.Format(“圆的面积为:”+Area());
else if (type == “矩形”)
str = string.Format(“矩形的面积为:”+Area());
else
str = string.Format(“三角形的面积为:”+Area());
return str+"\r\n";
}
}
//图形派生类——圆形类
public class Circle : Shape
{
private int data1;
public Circle(int data1)
{
this.data1 = data1;
}
public override double Area()
{
const double PI = 3.14;
double s = PI * data1 * data1;
return s;
}
}
//图形派生类——矩形类
public class Rectangle : Shape
{
private int data1;
private int data2;
public Rectangle(int data1,int data2)
{
this.data1 = data1;
this.data2 = data2;
}
public override double Area()
{
double s = data1data2;
return s;
}
}
//图形派生类——三角形类
public class Trangle : Shape
{
private int data1;
private int data2;
public Trangle(int data1,int data2)
{
this.data1 = data1;
this.data2 = data2;
}
public override double Area()
{
double s = data1data2/2;
return s;
}
}
}
(4)运行结果:
输入圆半径——10:
输入矩形的长——4,宽——5:
输入三角形底——6,高——6:
提示输入框:
直接单击“圆”按钮:
输入矩形长——6,宽未输入:
输入三角形的高——8,底未输入:
设计Windows应用程序,该程序定义平面图形抽象类和其派生类圆、矩形和三角形。相关推荐
- C#设计一个Windows应用程序,在该程序中首先构造中学生、大学生等派生类,当输入相关数据,单击不同的按钮(“小学生”“中学生”“大学生”)将分别创建不同的学生对象,并输入当前的学生总人数,该学生的
设计一个Windows应用程序,在该程序中首先构造中学生.大学生等派生类,当输入相关数据,单击不同的按钮("小学生""中学生""大学生")将 ...
- java 创建水果_java程序题:定义一个抽象类-水果,其中包括getWeight()方法,编写程序分别创建苹果、...
java程序题:定义一个抽象类-水果,其中包括getWeight()方法,编写程序分别创建苹果. 关注:286 答案:3 信息版本:手机版 电脑版 解决时间 2021-01-17 06:08 提问 ...
- PTA习题 7-4 定义抽象类Person、派生类Student和类Teacher
7-4 定义抽象类Person.派生类Student和类Teacher 分数 10 设计抽象类Person,派生出具体类:学生类Student和教师类Teacher,创建若干不同类对象后并在主方法中测 ...
- 定义一个名为Rectangle的类表示矩形,其中含有length和width两个double型的成员变量表示长和宽。要求为每一个变量定义访问方法和修改方法......
标题定义一个名为Rectangle的类表示矩形,其中含有length和width两个double型的成员变量表示长和宽.要求为每一个变量定义访问方法和修改方法,定义求矩形周长的方法getPerimet ...
- PTA---C++实现,定义抽象类Person、派生类Student和类Teacher
问题描述:设计抽象类Person,派生出具体类:学生类Student和教师类Teacher,创建若干不同类对象后并在主方法中测试. 数据成员定义: Person [ID,姓名,生日] Student ...
- 定义抽象类Person、派生类Student和类Teacher
设计抽象类Person,派生出具体类:学生类Student和教师类Teacher,创建若干不同类对象后并在主方法中测试. 数据成员定义: Person [ID,姓名,生日] Student [专业,成 ...
- 7-1 用虚函数计算各种图形的面积 (20分) 定义抽象基类Shape,由它派生出五个派生类:Circle(圆形)、Square(正方形)、Rectangle( 长方形)、Trapezoid (梯形)
7-1 用虚函数计算各种图形的面积 (20分) 定义抽象基类Shape,由它派生出五个派生类:Circle(圆形).Square(正方形).Rectangle( 长方形).Trapezoid (梯形) ...
- Essential C++学习记录笔记整理35(定义一个派生类)
目录 派生类: 一些机制的说明 纯虚函数和虚函数的补充 类继承的一些原则和注意(对于继承过来的数据成员/成员函数) 跳过虚函数机制 派生类同名成员优先被调用机制 如何在派生类调用基类的成员函数(该成员 ...
- 设计一个Windows应用程序,要求如下: 构造一个产品基类。 分别定义家电、日用百货、衣服等派生类,具体要求有不同的特征和行为。 定义一个泛型货架类,约束参数类型为产品
设计一个Windows应用程序,要求如下: 构造一个产品基类. 分别定义家电.日用百货.衣服等派生类,具体要求有不同的特征和行为. 定义一个泛型货架类,约束参数类型为产品类.该泛型的货架类包括一个泛型 ...
最新文章
- 常用memcached命令详解
- 解决 Virtual PC 在 XP PAE模式下无法运行的问题
- HTML常见小问题2
- 数字锁相环的matlab仿真
- 全球农业资源利用与粮食安全研讨会 国际农民丰收节贸易会
- windbg学习-----n(Set Number base)
- elasticsearch api中的delete操作
- 福建省计算机学会 noip比赛,重磅!福州一三附学生领衔全省前九名!他们将代表福建参加全国比赛!...
- 读取无线手柄数据_xbox series x/s 手柄开箱
- VS2008 JS脚本调试总是调试旧代码 真不知道怎么回事?谁能帮帮我呀!
- CISO的真正挑战:密码管理、IoT安全合规性
- oracle主键从键怎么看,分析Oracle主键的跳号现象
- 你缺的不是时间而是专注力
- 解析几何 | 吕子根 设三平行平面 $\pi_i:\ Ax+By+Cz+D_i=0\,(i=1,2,3),L,M,N$ 依次是平面 $\pi_1,\pi_2,\pi_3$ 上的任意点,求 $\tria
- 从零开始Android游戏编程(第二版) 第九章 游戏程序的生命周期
- 3、NDK下载、安装
- 代数法化简逻辑函数方法集合
- UiPath PDF拆分与合并
- java中常用的摘要算法
- 大数据查询语句SQL