本代码实现了学生信息毕业前后的更替,完整代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//使用Grow()重载的方法实现学生入学直到毕业的信息记录
namespace StudentInfo
{class clsStudent{//成员字段int nNum;//学号public string strName;//姓名private int nAge;//年龄private string strSex;//性别//声明公有、含参数的构造函数//参数num,name,age,sex分别传递学号、姓名、年龄、性别public clsStudent(int num, string name, int age, string sex){nNum = num;strName = name;nAge = age;strSex = sex;}//声明不含参数的构造函数public clsStudent(){nNum = 1801001;strName = "赵中华";nAge = 18;strSex = "男";}//析构函数//~clsStudent()// {//  Console.WriteLine("学生类的析构函数被调用!");// }//学生入学public void Enrollment(){Console.WriteLine("学号为:{0},姓名为:{1}同学入学", nNum, strName);}//学生长大一岁public void Grow(){nAge++;}//学生长大n_AgeSpan岁public void Grow(int n_Agespan){nAge += n_Agespan;}//学生毕业public void Graduate(){Console.WriteLine("学号为:{0},姓名为:{1}同学毕业", nNum, strName);}//输出信息public void Display(){Console.WriteLine("学号为:{0}", nNum);Console.WriteLine("姓名为:{0}", strName);Console.WriteLine("年龄为:{0}", nAge);Console.WriteLine();}}public class test{static void Main(){//调用含参数的构造函数,初始化对象clsStudent s = new clsStudent(201803008, "李四", 17, "女");s.Enrollment();s.Display();s.Grow();s.Display();//李四成长一岁s.Grow(3);s.Display();//李四成长三岁s.Graduate();}}
}

结果如下:

部分代码学习:

1.构造函数:具有与类相同的名称,主要用来在创建对象时初始化对象,总与New运算符一起使用在创建对象的语句中,没有返回值。

public clsStudent(int num, string name, int age, string sex){nNum = num;strName = name;nAge = age;strSex = sex;}

调用含参数的构造函数,初始化对象

 clsStudent s = new clsStudent(201803008, "李四", 17, "女");s.Enrollment();s.Display();s.Grow();s.Display();//李四成长一岁s.Grow(3);s.Display();//李四成长三岁s.Graduate();

2.析构函数: 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放),相当于一个垃圾回收机制。

析构函数,没有返回值,且不带任何参数。

//析构函数~clsStudent(){Console.WriteLine("学生类的析构函数被调用!");}

然后,想写一个类似的,但是学生信息可以自己输入进去的C#代码:

参考了别的博主写的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace The_experiment__of__three__week
{class Program{static void Main(string[] args){int count;bool b = true;Console.Write("请您输入您想保存的学生数:");count = int.Parse(Console.ReadLine());hashtable[] h = new hashtable[count];int i = 1, j = i;while (j > 0){j = i;if (i <= count){Console.Write("请您输入第{0}个学生的学号:", i);int number = int.Parse(Console.ReadLine());Console.Write("请您输入第{0}个学生的姓名:", i);String name = Console.ReadLine();Console.Write("请您输入第{0}个学生的年龄:", i);int age = int.Parse(Console.ReadLine());for (int k = 0; k < i - 2; ++k){if (h[k].number1().Equals(number)){Console.WriteLine("您已经输过该同学的信息了,请不要重复输入!");b = false;break;}}if (b){h[i - 1] = new hashtable();h[i - 1].input(number, name,age);}++i;}else{Console.WriteLine("您输入的学生数已达到您刚才预先设定值,请停止输入!");break;}Console.WriteLine();Console.WriteLine("想结束输入请按 ‘0’   继续输入请按 ‘1’ ");j = int.Parse(Console.ReadLine());}for (int n = 0; n < count; ++n){h[n].output();}Console.ReadKey();}}class hashtable{public int number;public string name;public int age;private int agenow;public hashtable(int number, string name,int age){number = 0;name = null;age = 0;}public hashtable(){number = 0;name = null;age = 0;}public void input(int number1, string name1, int age1){number = number1;name = name1;age = age1;}public int number1(){return number;}public void output(){Console.WriteLine("  学号         姓名        入学年龄          毕业年龄");Console.WriteLine("  {0}        {1}          {2}             {3}", number, name,age,age+4);}}
}

加油~

C#学习笔记:1.C#中学生类clsStudent 中实现Grow()方法的重载学习相关推荐

  1. # C# 学习笔记(4) 类

    C# 学习笔记(4) 类 面向对象编程主要是为了写出一个通用的代码,屏蔽差异,方便开发大型项目.类就是面向对象编程的核心之一.和C语言的结构体相比,结构体拥有的功能,类统统都有,除此之外,类还有许多新 ...

  2. Java程序猿的JavaScript学习笔记(10—— jQuery-在“类”层面扩展)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  3. AJPFX学习笔记JavaAPI之String类

    学习笔记JavaAPI之String类 [size=10.5000pt]一.所属包java.lang.String,没有子类.特点:一旦被初始化就不可以被改变. 创建类对象的两种方式: String ...

  4. JDBC学习笔记02【ResultSet类详解、JDBC登录案例练习、PreparedStatement类详解】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  5. kotlin学习笔记——枚举、封闭类

    1.枚举 kotlin中提供类枚举的实现,与java相同.枚举可以带参数,如 enum Icon(val res: Int){MENU(R.drawable.menu),BACK(R.drawable ...

  6. Python学习笔记:创建分数类

    Python学习笔记:创建分数类 1.编写创建分数类.py # 创建分数类from math import gcd# 定义分数类 class Fraction: def __init__(self, ...

  7. Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25

    Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25 目录 Rule20 接口优于抽象类 Rule21 为后代设计接口 Rule22 接口只用于定义类型 ...

  8. c# 学习笔记 (2) 窗体之间互相调用的方法

    c# 学习笔记 (2) 窗体之间互相调用的方法 创建一个winform工程 创建两个窗体 一个子窗体,一个父窗体,这里为了演示,子窗体和父窗体上都有一个文本框和按键,点击任意一个窗体上的按键,窗体上文 ...

  9. OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十

    OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...

最新文章

  1. 【 Verilog HDL 】清晰的时序逻辑描述方法之计数器的描述范例
  2. 【Android 应用开发】 Android 各种版本简介 ( Support 支持库版本 | Android Studio 版本 | Gradle 版本 | jcenter 库版本 )
  3. 一文读懂大数据平台——写给大数据开发初学者的话!
  4. mysql安装图形化管理界面phpMyAdmin
  5. QTP自动化测试视频系列
  6. 数字图像处理之边缘检测,图像分割
  7. HDU 1597 find the nth digit (二分查找)
  8. oracle错误27101,ORA-27101ORA-01034错误解决
  9. 防火墙阻止网页连接网络连接_win7电脑打不开网页怎么办 win7电脑打不开网页解决步骤【图文步骤】...
  10. 阿里云的RDS 查看binlog日志的方法
  11. Angular Js对象的拷贝复制
  12. Spring提供的iBatis的SqlMap配置
  13. 配置Android应用开发环境
  14. python从js文件中取数据_Python爬虫学习,记一次抓包获取js,从js函数中取数据的过程...
  15. 什么是SPREADJS的脏数据?
  16. numpy - 数组随机排序
  17. 《创业维艰》详细的思维导图
  18. Linux编程起步 GCC基本用法
  19. 玉柴spn码故障对照表_玉柴ECI故障码表
  20. Transformer 中 比较晦涩难懂的东西

热门文章

  1. HTTP网站服务协议
  2. java爬取网页的数据并存入数据库
  3. 苏州有哪些不错的互联网公司?
  4. Oracle 数据库的聚簇技术
  5. Ubuntu下的几种常见输入法极其配置方式(zt)
  6. python打招呼函数_Python每天问候早安晚安
  7. 01python_introduce
  8. 这样的财务报表分析软件谁不爱!帮你轻松搞定财务问题~
  9. 一步一步学java(8):一文彻底搞懂servlet、httpservlet以及http协议
  10. 索尼rx1r人脸识别_全画幅卡片相机索尼RX1R到底适不适合初学者?