c#程序例题.docx
- 文档编号:7836336
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:26
- 大小:37.71KB
c#程序例题.docx
《c#程序例题.docx》由会员分享,可在线阅读,更多相关《c#程序例题.docx(26页珍藏版)》请在冰豆网上搜索。
c#程序例题
1、抽象类方法
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespace抽象类方法
{
publicabstractclassmyClass
{
privatestringid="";
privatestringname="";
publicstringID//编号属性及其实现
{
get
{
returnid;
}
set
{
id=value;
}
}
publicstringName//名称属性及其实现
{
get
{
returnname;
}
set
{
name=value;
}
}
publicabstractvoidShowInfo();//抽象方法,用来输出信息
}
publicclassDriveClass:
myClass//重写抽象类中输出信息的方法,重写抽象类的子类必须是非抽象类
{
publicoverridevoidShowInfo()
{
Console.WriteLine(ID+"\t"+Name);
}
}
classProgram
{
staticvoidMain(string[]args)
{
DriveClassD=newDriveClass();
myClassW=D;
W.ID="G75";
W.Name="兰海高速公路";
W.ShowInfo();
Console.ReadKey();
}
}运行结果:
G75兰海高速
}
2、多态
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespace多态
//代码重用的机制
{
classProgram
{
publicclassInterest
{
publicvirtualvoidshowInfo()
{
Console.WriteLine("爱好");
Console.Read();
}
}
publicclasssing:
Interest
{
publicoverridevoidshowInfo()
{
Console.WriteLine("唱歌");
}
}
publicclassbasketball:
Interest
{
publicoverridevoidshowInfo()
{
Console.WriteLine("篮球");
}
}
publicclassphotograaphy:
Interest
{
publicoverridevoidshowInfo()
{
Console.WriteLine("摄影");
}
}
staticvoidMain(string[]args)
{
Interest[]a=newInterest[4];//对象数组
a[0]=newsing();
a[1]=newbasketball();
a[2]=newphotograaphy();
foreach(Interestmina)
{
m.showInfo();
}
Console.Read();
}运行结果:
唱歌
}篮球
}摄影
3、多态性的实现
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespace多态性的实现
{//同样的调用可以产生不同的结果,这种不同的结果主要是由子类来控制的
classMyClass1//定义基类(父类)
{
publicintx;
publicinty;
publicvirtualintAdd()//定义一个virtual类型的虚方法,以便在派生类中调用。
声明前加了virtual就是虚方法必须在子类中用override类重载
{
returnx+y;
}
}
classMyClass2:
MyClass1//定义派生类,该类继承自基类MyClass1
{
publicoverrideintAdd()//重写基类中的虚方法
{
intx=6;
inty=3;
returnx+y;
}
}
classProgram
{
staticvoidMain(string[]args)
{
MyClass1A=newMyClass1();
MyClass2B=newMyClass2();
A.x=10;
A.y=50;
Console.WriteLine(A.Add());
Console.WriteLine(B.Add());
Console.ReadKey();
}运行结果:
60
}9
}
4、哈希表的输出
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Collections;
namespace哈希表的输出
{
classProgram
{
staticvoidMain(string[]args)
{
Hashtablehashtable=newHashtable();//实例化Hashtable对象
hashtable.Add("1","泰山");
hashtable.Add("2","华山");
hashtable.Add("3","嵩山");
hashtable.Add("4","恒山");
Console.WriteLine("\t键\t值");//遍历Hashtable哈希表中的元素并输出其键值对
foreach(DictionaryEntrydicEntryinhashtable)
{
Console.WriteLine("\t"+dicEntry.Key+"\t"+dicEntry.Value);//"t"表示跳过一个制表格
}
Console.ReadLine();
}
}
}
运行结果;
5、类的继承
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespace继承
{
classMyClass1
{
publicintx;
publicinty;
publicintAdd1()
{
returnx+y;
}
}
classMyClass2:
MyClass1//定义int型变量,作为第2个变量的父类
{
publicintz;
publicintAdd2()
{
returnx+y+z;
}
}
classProgram
{
staticvoidMain(string[]args)
{
MyClass1A=newMyClass1();//实例化
MyClass2B=newMyClass2();//实例化
A.x=3;
A.y=5;
B.x=2;
B.y=1;
B.z=7;
Console.WriteLine(A.Add1());//父类对象调用Add1方法
Console.WriteLine(B.Add1());//使用子类对象调用父类中的Add1方法
Console.WriteLine(B.Add2());//子类对象调用Add2方法
Console.ReadKey();
}运行结果:
8
}3
}10
6、接口的实例化
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
//接口里面所有的成员必须全部为public属性
interfaceHuman//声明了一个接口Human
{
stringID//编号
{
get;
set;
}
stringName
{
get;
set;
}
voidShowInfo();//自定义方法,用于显示定义的编号和姓名
}
classBelle:
Human//Belle派生类继承自接口
{
stringid="";
stringname="";
publicstringID
{
get
{
returnid;
}
set
{
id=value;
}
}
publicstringName//姓名
{
get
{
returnname;
}
set
{
name=value;
}
}
publicvoidShowInfo()
{
Console.WriteLine("编号\t姓名");//显示定义的编号和姓名
Console.WriteLine(ID+"\t"+Name);
}
}
classProgram
{
staticvoidMain(string[]args)
{
Belleperson=newBelle();
Humanb=person;
b.ID="002";
b.Name="貂蝉";
b.ShowInfo();
Console.ReadKey();
}
}
运行结果:
7、类的封装
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceConsoleApplication1
{
classMyClass1
{
privateintx=0;
privateinty=0;
publicintX
{
get
{
returnx;
}
set
{
x=value;
}
}
publicintY
{
get
{
returny;
}
set
{
y=value;
}
}
classMyClass2
{
MyClass1myclass1=newMyClass1();//结果为0的原因:
是因为类Myclass1被封装在MyClass2类当中,而类1的作用范围为类2中的,类1中初值为0所以结果为0;
publicintAdd()
{
returnmyclass1.X+myclass1.Y;
}
}
classProgram
{
staticvoidMain(string[]args)
{
MyClass1myclass1=newMyClass1();
MyClass2myclass2=newMyClass2();
myclass1.X=3;
myclass1.Y=5;
Console.WriteLine(myclass2.Add());
Console.ReadKey();
}
}
}运行结果:
0
}
8、类的继承
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespace类的派生
{
classProgram
{
classPeople1
{
publicStringn;
publicvoidoutMetthod1()
{
Console.WriteLine("我是{0}人",n);
}
}
classPeople2:
People1
{
publicStringm;
publicvoidoutMethod2()
{
Console.WriteLine("我是{0}{1}人",n,m);
}
}
staticvoidMain(string[]args)
{
People1p1=newPeople1();
p1.n="山东";
p1.outMetthod1();
People2p2=newPeople2();
p2.n="陕西";
p2.m="西安";
p2.outMethod1();
p2.outMethod2();
Console.Read();
}运行结果:
我是山东人
}我是陕西人
}我是西安人
9、一个类多个构造函数
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespace例7._3一个类多个构造函数
{
classTest
{
staticvoidMain(string[]args)
{
Console.WriteLine("点面积:
");
AreapointArea=newArea();
pointArea.showResult();
Console.WriteLine("矩形面积:
");
ArearectangleArea=newArea(5,4);
rectangleArea.showResult();
Console.WriteLine("圆面积:
");
AreacircleArea=newArea(2.5);
circleArea.showResult();
Console.WriteLine("梯形面积:
");
AreatrapezoidArea=newArea(2,4,5);
trapezoidArea.showResult();
Console.ReadLine();
}
}
classArea
{
publicdoublemyArea=0;//类的属性
publicvoidshowResult()//方法
{
Console.WriteLine("{0}",myArea);
}
publicArea(doublex,doubley)//构造函数1
{
myArea=x*y;
}
publicArea()//构造函数2
{
myArea=0;
}
publicArea(doubler)//构造函数3
{
myArea=3.1415926*r*r;
}
publicArea(doublea,doubleb,doubleh)//构造函数4
{
myArea=(a+b)*h/2;
}
}
}运行结果:
10、枚举类型
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespace枚举类型
{
classProgram
{
enumMydate
{
Sun=0,
Mon=1,
Tue=2,
Wed=3,
Thi=4,
Fri=5,
Sat=6
}
staticvoidMain(string[]args)
{
intk=(int)DateTime.Now.DayOfWeek;
switch(k)
{
case(int)Mydate.Sun:
Console.WriteLine("今天是星期日");break;
case(int)Mydate.Mon:
Console.WriteLine("今天是星期一");break;
case(int)Mydate.Tue:
Console.WriteLine("今天是星期二");break;
case(int)Mydate.Wed:
Console.WriteLine("今天是星期三");break;
case(int)Mydate.Thi:
Console.WriteLine("今天是星期四");break;
case(int)Mydate.Fri:
Console.WriteLine("今天是星期五");break;
case(int)Mydate.Sat:
Console.WriteLine("今天是星期六");break;
}
Console.ReadLine();
}
}运行结果:
当天是星期几
}
11、密封类
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespace密封类
{
classProgram
{
publicclassmyClass1
{
privatestringid="";
privatestringname="";
publicstringID//编号属性及其实现
{
get
{
returnid;
}
set
{
id=value;
}
}
publicstringName//名称属性及其实现
{
get
{
returnname;
}
set
{
name=value;
}
}
publicvirtualvoidShowInfo()
{
}
}
publicsealedclassmyClass2:
myClass1//密封类,继承基类myClass1
{
publicsealedoverridevoidShowInfo()//密封并重写基类中的ShowInfo()方法
{
Console.WriteLine(ID+"\t"+Name);
}
}
staticvoidMain(string[]args)
{
myClass2W=newmyClass2();//实例化密封对象
W.ID="中华民主革命第一人";//为密封中的编号属性赋值
W.Name="孙中山先生";//为密封类中的名称属性赋值
W.ShowInfo();//调用密封类中的密封方法
Console.ReadKey();
}
}运行结果:
中华民主革命第一人孙中山先生
}
12、输入数值范围求奇数
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceConsoleApplication2
{
classProgram
{
staticvoidMain(string[]args)
{
inti=1,n;
Console.WriteLine("请输入所求奇数数范围n的值:
");
n=int.Parse(Console.ReadLine());
while(i { if(i%2==0) { i++; continue; } Console.Write(i+","); i++; } Console.ReadLine(); } } } 13、求圆面积 usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; namespace输入半径求圆面积 { classCircleArea { privateconstdoublePI=3.1415927; staticvoidMain(string[]args) { doubler; doublearea; do { Console.WriteLine("输入圆的半径: "); r=Convert.ToDouble(Console.ReadLine()); if(r<0) { r=-r; } area=PI*r*r; Console.WriteLine("你输入的圆的半径是{0},根据你输入的半径所求圆的面积为{1}",r,area); }while(r! =0); Console.ReadLine(); } } } 14、输入数组的行列数随机输出数组 usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; namespace输入数组的行列个数输出个元素 { classProgram { staticvoidMain(string[]args) { intb,c; Console.WriteLine("请输入动态数组的行数: "); b=int.Parse(Console.ReadLine()); Console.WriteLine("请输入动态数组的列数: "); c=int.Parse(Console.ReadLine()); Console.WriteLine("结果为: "); int[,]a=newint[b,c]; for(inti=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c# 程序 例题