zoukankan      html  css  js  c++  java
  • C#

    面向对象


    万物皆对象

    三大特性:

    封装

    继承

    多态

    五大原则:

    将现实生活中的实际存在的东西,抽象提取成程序中的类,对类进行统一的操作

    好处: 1、程序的结构非常清晰 2、易于维护,便于功能扩展 3、让程序更加健壮

    都是以 类 为基本单元

    从世界观的角度可以认为:
      1、面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;
      2、不同对象之间的相互作用和通讯构成了完整的现实世界。
      因此,人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。这样建立起来的系统才能符合现实世界的本来面目。
      从方法学的角度可以认为:
      1、面向对象的方法是面向对象的世界观在开发方法中的直接运用;
      2、它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。

    C#复习:

    在控制台程序中使用结构体、集合,完成下列要求 项目要求:

    一、连续输入5个学生的信息,每个学生都有以下4个内容: 1、序号 - 根据输入的顺序自动生成,不需要手动填写,如输入第一个学生的序号是1,第二个是2,以此类推 2、学号 - 必填,如:S001,S002... 以此类推 3、姓名 - 必填 4、成绩 - 大于等于0,小于等于100

    以上内容必须按照要求填写,请写好相应的验证,如果没填写正确,则重复填写到正确为止

    二、5个学生信息都输入完毕后,按照分数从高到低的顺序将学生信息展示出来 显示格式如下:

    ==============学生成绩展示================= 序号   学号   姓名    成绩 3      S003   张三    100 1      S001   李四    99 2      S002   王五    98 ... ...

    ---------------------------------------------------------------------

    struct student
            {
                public int id;
                public string code;
                public string name;
                public decimal score;
            }
            static void Main(string[] args)
            {
           //添加学生信息
                ArrayList all = new ArrayList(); //把学生信息放入此集合
                Console.Write("请输入学生人数");
                int n=int.Parse(Console.ReadLine());
                for (int i = 1; i <= n; i++)
                {
                    student s = new student();
                    s.id = i;
                    #region 编号输入
                    while (true)
                    {
                        Console.Write("请输入第{0}个学生的编号:",i);
                        s.code = Console.ReadLine();
                        if (s.code == "")
                        {
                            Console.WriteLine("学生编号不能为空!");
                        }
                        else
                        {
                            break;
                        }
                    }
                #endregion
                   
                    #region  姓名输入
                    while (true)
                    {
                        Console.Write("请输入第{0}个学生的姓名:",i);
                        s.name = Console.ReadLine();
                        if (s.name == "")
                        {
                            Console.WriteLine("学生姓名不能为空!");
                        }
                        else
                        {
                            break;
                        }
                    }
                    #endregion
                   
                    #region  成绩输入
                    while (true)
                    {
                        Console.Write("请输入第个学生的成绩:");
                        try
                        {
                            s.score = decimal.Parse(Console.ReadLine());
                            if (s.score >= 0 && s.score <= 100)
                            {
                                break;
                            }
                            else
                            {
                                Console.WriteLine("成绩必须在0-100之间!");
                            }
                        }
                        catch
                        {
                            Console.WriteLine("请输入数字!");
                        }
                    }
                   
                    all.Add(s);
                    Console.WriteLine("----------------------------");
                }
                    #endregion
                    #region 排序
                for (int a = 0; a < all.Count-1; a++)
                {
                    for (int b = a+1; b < all.Count; b++)
                    {
                        student s1 =(student)all[a];
                        student s2 =(student)all[b];
                        if (s1.score<s2.score)
                        {
                            student zhong =(student) all[a];
                            all[a] = all[b];
                            all[b] = zhong;
                        }
    
                    }
                }
                    #endregion
                    #region 打印
                Console.WriteLine("========学生信息展示=========");
                Console.WriteLine("序号     学号     姓名      成绩");
    
                for (int a = 0; a < all.Count; a++)
                {
                    student sss = (student)all[a];
                    Console.WriteLine(sss.id + "   " + sss.code + "   " + sss.name + "   " + sss.score);
                }
    
                Console.ReadKey();
                    #endregion
    
            }
  • 相关阅读:
    Prime Land(poj 1365)
    备用交换机(cogs 8)
    救命(洛谷 U4525)
    消息传递(cogs 1001)
    SQLite 使用主键,ROWID 及自增列
    SqlHelper 类
    一个继承的 DataGridView
    给JAVA的eclipse IDE 在线安装 SVN插件 / 给 eclipse 添加打开所在的文件夹功能
    实时更新DataGridView 合计值
    导出为文本格式
  • 原文地址:https://www.cnblogs.com/longhaijun/p/5851720.html
Copyright © 2011-2022 走看看