1. 引言
今天主要学习了面向对象编程。面向对象不同于面向过程,面向过程更注重于动作过程,而面向对象更注重于对象本身。我们定义一个类,类中有属性和方法,拥有这些属性和方法的变量称为对象,对象可以调用类中的方法。
构造类提升了我们的代码复用性。当我们需要定义多个拥有同样属性和方法的变量时,只需构造一个类,将它们定义为该类的对象即可。
2. 为什么需要类与对象
例如,我们需要存储多个人的个人信息并输出。如果不定义类和对象,我们需要依次定义每个人的信息和输出,这样会大大增加代码的冗余度;如果定义类与对象,我们可以减少重复的代码,提升代码的复用性。
3. 定义 Student 类
// 定义 Student 类的代码为:internalclassStudent{/// <summary>/// 学号/// </summary>privatestring_id;publicstringId{get{return_id;}set{if(value.Length==8){_id=value;}else{_id="null";}}}/// <summary>/// 姓名/// </summary>publicstring_name;publicstringName{get{return_name;}set{_name=value;}}/// <summary>/// 年龄/// </summary>publicint_age;publicintAge{get{return_age;}set{if(value>=0&&value<=150){_age=value;}}}/// <summary>/// 性别/// </summary>publicchar_sex;publiccharSex{get{return_sex;}set{if(value!='男'&&value!='女'){value='男';}_sex=value;}}publicstringAiHao;publicvoidJiBen(){Console.WriteLine($"大家好,我叫{Name},学号是{Id},我今年{Age}岁,是个{Sex}生,我的爱好是{AiHao}");}}4. Main 函数代码
staticvoidMain(string[]args){stringjiXu;do{Console.WriteLine("学生1:张三\n学生2:李四\n学生3:王五\n学生4:老六\n学生5:改个蛋");Console.WriteLine("请输入要查看的自我介绍的学生代号为:");intstudentNum=Convert.ToInt32(Console.ReadLine());switch(studentNum){case1:Studentstudent1=newStudent();student1.Name="张三";student1.Sex='男';student1.Age=18;student1.Id="26310101";student1.AiHao="打篮球";student1.JiBen();break;case2:Studentstudent2=newStudent();student2.Name="李四";student2.Sex='男';student2.Age=19;student2.Id="26310102";student2.AiHao="打羽毛球";student2.JiBen();break;case3:Studentstudent3=newStudent();student3.Name="王五";student3.Sex='女';student3.Age=18;student3.Id="26310103";student3.AiHao="打篮球";student3.JiBen();break;case4:Studentstudent4=newStudent();student4.Name="老六";student4.Sex='男';student4.Age=19;student4.Id="26310104";student4.AiHao="踢足球";student4.JiBen();break;case5:Studentstudent5=newStudent();student5.Name="改个蛋";student5.Sex='女';student5.Age=18;student5.Id="26310105";student5.AiHao="打乒乓球";student5.JiBen();break;}Console.WriteLine("是否继续查看?y/n");jiXu=Console.ReadLine();}while(jiXu=="y"||jiXu=="Y");}5. 总结
通过定义Student类,我们只需创建不同的对象并赋值,即可复用同一套属性和方法,大大减少了重复代码,这正是面向对象编程的核心优势。