C#类基础编程实践:学生信息与三角形面积计算
需积分: 0 172 浏览量
更新于2024-09-11
收藏 111KB DOC 举报
"C#类编程实例"
在C#编程中,类是面向对象设计的核心元素,用于封装数据和相关操作。下面将详细讲解标题和描述中提到的C#类编程实例。
1. 基本类定义:
在C#中,类是一种用户自定义的数据类型,可以用来创建对象。实例化类时,可以通过构造函数来初始化对象的属性。例如,我们创建一个名为`Student`的类,包含学号(sno)、成绩(sscore)和姓名(sname)三个属性。学号和成绩分别使用整型(int)和浮点型(float),而姓名则使用字符串类型(string)。构造函数是一个特殊的方法,用于在创建对象时执行初始化操作。在这个例子中,我们有一个带参数的构造函数`Student(int no, float score, string name)`,它接受学号、成绩和姓名作为参数,并将它们分别赋值给对应的属性。为了显示学生信息,我们还定义了一个名为`dispInfo`的成员函数,它会打印出学生的学号、成绩和姓名。测试类`Program`中,我们创建了一个`Student`对象`s`,并通过`dispInfo`方法显示了学生信息。
```csharp
class Student
{
private int sno;
private float score;
private string sname;
public Student(int no, float score, string name)
{
sno = no;
this.score = score;
sname = name;
}
public void dispInfo()
{
Console.WriteLine("学号:" + sno + ",成绩:" + score + ",姓名:" + sname);
}
}
```
2. 三角形类:
在第二个实例中,我们创建了一个名为`Trig`的三角形类,它有三个属性代表三角形的边长。为了确保这些边长能够构成一个有效的三角形,我们需要检查是否满足三角形的条件:任意两边之和大于第三边。如果满足条件,我们可以通过海伦公式计算三角形的面积。代码如下:
```csharp
class Trig
{
private int a, b, c;
public Trig(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("无法构造该三角形,输入的三边不合理。");
return;
}
}
public double GetArea()
{
double p = (a + b + c) / 2;
return Math.Sqrt(p * (p - a) * (p - b) * (p - c));
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入三边长:");
int a = int.Parse(Console.ReadLine());
int b = int.Parse(Console.ReadLine());
int c = int.Parse(Console.ReadLine());
Trig trig = new Trig(a, b, c);
if (trig != null)
{
Console.WriteLine("三角形面积为:" + trig.GetArea());
}
Console.ReadLine();
}
}
```
这两个实例展示了C#类的基本结构和使用方式,包括属性、构造函数、成员方法以及面向对象设计中的封装和条件判断。通过这些实例,初学者可以更好地理解如何在实际编程中运用C#类。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-09-24 上传
125 浏览量
2007-05-28 上传
2010-08-06 上传
2009-02-17 上传
147 浏览量
bjx
- 粉丝: 0
- 资源: 1
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程