面向对象 理解 C#复习
面向对象:
是基于万物皆对象这个哲学观点. 所谓的面向对象就是将我们的程序模块化,对象化,把具体事物的特性属性和通过这些属性来实现一些动作的具体方法放到一个类里面
通俗点讲:
一切都是对象
举例:
将一栋房子 比作一个对象 【房子:对象】。 从图上也可以看到这是一种新类别的房子【房子:类-Class】 如图

这就是对象,那对象应该包含什么呢?
面向对象的三项基本特征:封装、继承、多态。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections; namespace _11._24
{
class Program
{
struct student
{
public string code;
public string name;
public double score;
}
static void Main(string[] args)
{
ArrayList al = new ArrayList();
Console.Write("请输入学生人数:");
int a = int.Parse(Console.ReadLine());
for (int i = ; i < a; i++)
{
student st = new student();
for (; ; )
{
Console.Write("请输入第{0}个学生的学号:", i + );
string b = Console.ReadLine();
if (b.StartsWith("S"))
{
st.code = b;
break;
}
}
for (; ; )
{
Console.Write("请输入第{0}个学生的姓名:", i + );
string c = Console.ReadLine();
if (c != "")
{
st.name = c;
break;
}
}
for (; ; )
{
Console.Write("请输入第{0}个学生的成绩:", i + );
try
{
double d = double.Parse(Console.ReadLine());
if (d <= && d >= )
{
st.score = d;
break;
}
}
catch
{ Console.WriteLine("请输入数字!"); }
}
al.Add(st);
}
for (int i = ; i < al.Count - ; i++)
{
for (int j = i + ; j < al.Count; j++)
{
student s1 = (student)al[i];
student s2 = (student)al[j];
if (s1.score < s2.score)
{
Object b = al[i];
al[i] = al[j];
al[j] = b;
}
}
}
Console.Write("序号" + "\t" + "学号" + "\t" + "姓名" + "\t" + "成绩" + "\n");
for (int i = ; i < a; i++)
{
student s = (student)al[i];
Console.Write((i + ) + "\t" + s.code + "\t" + s.name + "\t" + s.score + "\n");
}
Console.ReadLine();
}
}
}
面向对象 理解 C#复习的更多相关文章
- js面向对象理解
js面向对象理解 ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP).面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.但是, ...
- java普通类、抽象类、接口、面向对象理解
1.面向对象编程: 面向对象编程的语言不止java一种,还有: simula 67(第一个面向对象语言,支持单继承和一定含义的多态和部分动态绑定): Smalltalk(第一个支持动态类型的语言,支持 ...
- Java面向对象理解_代码块_继承_多态_抽象_接口
面线对象: /* 成员变量和局部变量的区别? A:在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 B:在内存中的位置不同 成员变量:在堆内存 局部变量:在栈内存 C:生 ...
- C++——OOP面向对象理解
从Rob Pike 的 Google+上的一个推看到了一篇叫<Understanding Object Oriented Programming>的文章,我先把这篇文章简述一下,然后再说说 ...
- MYSQL、PHP基础、面向对象基础简单复习总结
一.MYSQL 1.配置MySql 第一步安装服务器(apache). 第二部安装MySql界面程序 2 ...
- c#基础-oop(面向对象理解)
OOP-面向对象 封装,继承多态 一个桌子,用面向对象来描述一下它这个桌子项目 定义桌子类 对象:桌子 桌子的属性:名字,材质,体积 桌子的方法;放东西(方法) 现在桌子要放书,放花瓶,放文件(这里就 ...
- java面向对象理解
面向对象:世间一切事物均可认为是对象,用户不必了解软件内部的实现机制,可根据需要直接调用接口,生成一个正常工作的应用程序. 面向对象的特点:抽象,封装,继承,多态性, 对象:对象就是一个具有明确行为的 ...
- 对C/C++指针问题的彻底理解(复习1)
理解第一篇 上完大学不是我吹(仅仅说我认识的本学校本专业)估计很明白指针的人绝对不超过百分之50,学校low不low另说(因为问他们讲得断断续续的自己也说不明白,只知道那样可以用) 学链表树形结构.. ...
- php面向对象理解(一)
常用的继承过程,以及对public.private.protected修饰符的理解: /*****************************父类************************* ...
随机推荐
- Stationary point
https://en.wikipedia.org/wiki/Stationary_point https://zh.wikipedia.org/wiki/驻点
- Delphi下使用MapWinGIS控件打开GIS图层
unit Unit3; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System ...
- CC2540的使用入门
目录 1. 介绍 2. 开发环境 3. SDCC 1. 介绍 CC2540是一款2.4GHz Bluetooth® low energy SOC,基于8051 MCU 首先,你需要硬件设备 笔者的开发 ...
- 在 mac os 上搭建 git server
前言:之前学习了如何使用 git 后,一直想搭建一个本机搭建一个 git server 的,一开始不知道走了弯路用了 gitosis,折腾了我好几天都没配置好.昨晚查资料发现 gitosis 早就过时 ...
- 6 个JavaScript日期处理库
1. Later.js Later.js, a stadalone JavaScript library, offers an advanced usage for triggering recurr ...
- HBase的安装部署以及简单使用
一:下载安装 1.下载安装 2.开启hadoop与zookeeper 3.修改配置文件hbase-env export JAVA_HOME=/opt/modules/jdk1.7.0_67 expor ...
- [LeetCode] Jump Game II(贪婪算法)
Given an array of non-negative integers, you are initially positioned at the first index of the arra ...
- ArcGIS Engine开发之旅05---空间数据库
原文:ArcGIS Engine开发之旅05---空间数据库 1 Geodatabase概念 Geodatabase是ArcInfo8引入的一种全新的面向对象的空间数据模型,是建立在DBMS之上的统 ...
- ASP.NET MVC3 通过Url传多个参数方法
MVC3通过URL传值,一般情况下都会遇到 [从客户端(&)中检测到有潜在危险的 Request.Path 值]的问题 这个问题的解决方法,我的其他博文已经有了说明,这里给出连接 ; [从客户 ...
- 转:[ASP.NET]重構之路系列v4 – 簡單使用interface之『你也會IoC』
前言 上次v3版本,我們將Entity, Service, Dao, Utility都放到了類別庫裡面,讓我們可以輕鬆的在不同專案中用同一份組件.雖然文章沒有獲得太多的讚賞,不過相信那一定是太多人會這 ...