面向对象 类 练习

添加5个学生的信息到集合中,
每个学生都有:学号,姓名,成绩,3个内容,
添加完毕后将学生的分数从高到低排列并打印出来,用添加类的项目

和结构体一样,只是在项目中有添加了一个类的项目,用来定义变量,方便其他项目调用

作为一个单独的类,直接在class后面添加类名,写法同样用public + 数值类型+变量名,后面调用时需要实例化一下

如:类名  一个变量=new 类名(),因为类属于使用方法,需要加括号,将类中的所有属性赋值到这个变量中,用这个变量

可以直接点出里面的属性使用

1.在项目中添加一个类项目,在里面添加用到的变量

2.添加main函数中添加学生信息,并实例化一下这个类,将学生的信息用调用的类中的变量接收

3.将接收到的属性打包放在集合中,也就是集合内每一个元素都是有多个不同属性的信息打包而成,需要单独拿出时,也需要

  将打包的元素强制转换并赋值到类的变量中,之后需要哪个属性就可以用这个变量直接点出里面的属性

4.将集合中的元素,按照每个元素中属性分数进行排序,需要先转换每个元素并赋值到变量中,用变量点出分数作为条件进行冒泡排序

5。将集合中排好序的每个元素里面的属性打印出来

 

类的项目:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 面向对象_类_练习
{
    //类的使用和结构体有些相似,都是把变量单独定义出来,以方便后面调用,
    //只是类作为一个单独的项目打开,在其他项目中调用
    class xuesheng
    {
        public int code;
        public string name;
        public double fenshu;
        public int m;
    }
}

主项目:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 面向对象_类_练习
{
    class Program
    {
        static void Main(string[] args)
        {
            //1.添加学生信息
            ArrayList bb = new ArrayList();
            for (int i = 1; i < 6; i++)
            {
                xuesheng xs = new xuesheng();//实例化,这里同样实例化一下,以变量xs可以直接调用类的项目中所定义的属性

                Console.Write("请输入第" + i + "个学生姓名:");
                xs.name = Console.ReadLine();
                Console.Write("请输入第1个学生学号:");
                xs.code = int.Parse(Console.ReadLine());
                Console.Write("请输入第1个学生分数:");
                xs.fenshu = double.Parse(Console.ReadLine());

                xs.m = i;
                bb.Add(xs);
                Console.WriteLine("================================");
            }
            Console.WriteLine("----------------------学生数据展示----------------------");
            //2.进行排序
            for (int i = 0; i < bb.Count - 1; i++)
            {
                for (int j = i + 1; j < bb.Count; j++)
                {
                    xuesheng a = (xuesheng)bb[i];
                    xuesheng b = (xuesheng)bb[j];
                    if (a.fenshu < b.fenshu)
                    {
                        object zhong = bb[i];
                        bb[i] = bb[j];
                        bb[j] = zhong;
                    }
                }
            }
            //3.打印
            foreach (object n in bb)
            {
                xuesheng s = (xuesheng)n;
                Console.WriteLine("" + s.m + "个学生的学号:" + s.code + ",姓名:" + s.name + ",成绩:" + s.fenshu + "");
            }



            Console.ReadLine();
        }
    }
}

posted @ 2016-06-16 23:52  小飛  阅读(158)  评论(0编辑  收藏  举报