博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象与类
阅读量:4619 次
发布时间:2019-06-09

本文共 1615 字,大约阅读时间需要 5 分钟。

今日主要简单了解面向对象思想以及类的介绍

万物皆对象

面向对象主要有三大特性

一、封装

二、继承

三、多态

将现实生活中实际存在的东西,抽象的提取成程序中的类,对类进行统一的操作,都是以类为基本单元。

面向对象使用的好处

1、使程序结构更加清晰

2、便于维护,方便扩展

3、使程序更加健壮

类是抽取了同一类对象的共同属性并不断的扩展和延伸,并展现自己独特的特性。

 练习

创建student类

class Student

{
public int no;
public string code;
public string name;
public decimal chengji;
}

ArrayList al = new ArrayList();

Console.Write("请输入班级人数:");
int n=int.Parse( Console.ReadLine());
for (int i = 1; i <= n;i++ )
{
Student s = new Student();
s.no = i;
while (true)
{
Console.WriteLine("请输入学生的学号:");
s.code = Console.ReadLine();
if (s.code == "")
{
Console.WriteLine("您的输入有误,不能为空");

}

else
{
break;
}
}
while (true)
{
Console.WriteLine("请输入学生的姓名:");
s.name = Console.ReadLine();
if (s.code == "")
{
Console.WriteLine("您的输入有误,不能为空");

}

else
{
break;
}
}
while (true)
{
Console.Write("请输入第" + i + "个学生成绩:");
try
{
s.chengji = Convert.ToInt32(Console.ReadLine());

if (s.chengji >= 0 && s.chengji <= 100)

{
break;
}
else
{
Console.Write("成绩区间必须在0~100之间");
}

}

catch
{
Console.WriteLine("成绩输入有误!请输入数字!");
}
}
al.Add(s);
Console.WriteLine("-----------------------------");
}

for (int a = 0; a < al.Count - 1; a++)

{
for (int b = a + 1; b < al.Count; b++)
{
Student s1 = (Student)al[a];
Student s2 = (Student)al[b];

if (s1.chengji < s2.chengji)

{
Student zhong = (Student)al[a];
al[a] = al[b];
al[b] = zhong;
}
}
}

Console.WriteLine("========学生信息展示=========");

Console.WriteLine("序号 学号 姓名 成绩");

for (int a = 0; a < al.Count; a++)

{
Student sss = (Student)al[a];
Console.WriteLine(sss.no + " " + sss.code + " " + sss.name + " " + sss.chengji);
}

Console.ReadLine();

转载于:https://www.cnblogs.com/yx1314520/p/5846161.html

你可能感兴趣的文章
利用Lucene把文本的字体格式进行改动,然后输出到一个新的文件里
查看>>
[Openstack] Expecting an auth URL via either --os-auth-url or env[OS_AUTH_URL]
查看>>
How to Create Modifiers Using the API QP_MODIFIERS_PUB.PROCESS_MODIFIERS
查看>>
待飞笔记(第一天 )
查看>>
用Winrar批量解压缩有密码文件方法,只需输入一次密码
查看>>
解惑好文:移动端H5页面高清多屏适配方案
查看>>
traefik添加多证书
查看>>
PhantomJs 笔记
查看>>
js设计模式--语言类型
查看>>
C#多线程之二:ManualResetEvent和AutoResetEvent
查看>>
忽略UserInterfaceState.xcuserstate
查看>>
ReactNative--Flexbox布局
查看>>
java实现读取文件大全
查看>>
[Cordova] 无法显示Alert视窗
查看>>
借助过度区选择阈值
查看>>
价格正则
查看>>
评论列表显示及排序,个人中心显示
查看>>
JavaWeb学习笔记总结 目录篇
查看>>
C#根据html生成PDF
查看>>
Neutron SDN 手动实现手册
查看>>