您好,欢迎访问三七文档
总结复习班号:0119姓名:魏帅深入.NET平台和C#编程深入.Net平台和c#编程1.c#概述2.C#的属性、方法、类型3.集合listT、Dictionaryk,v4.文件读写与XML5.继承封装多态6.接口7.序列化与反射C#中的类类中可以包含字段、属性、方法、构造函数、索引器类的访问修饰符:Public、Private、Protect、internal1把类中用于操作的变量称为字段2为了保证数据的安全性通过属性来约束对字段的非法输入利用get获取字段的值,set设置字段的值3.静态方法、事例方法、方法重载方法的重载类中两个以上的方法名相同但签名(参数个数、参数类型)不同、与返回类型无关publicstringSum(stringpara1,stringpara2){returnpara1+para2;}publicdoubleSum(doublepara1,doublepara2){returnpara1+para2;}调用时只要传递参数即可,无需判断类型构造函数是类中一种特殊的方法,用于初始化成员变量一般情况下,构造函数总是Public类型的构造函数名与类名相同,不返回任何值也可以重载、初始化不同数量的属性创建类的实例时都会调用此方法publicStudent(stringname,intage,stringhobby){this.Name=name;this.Age=age;this.Hobby=hobby;}Studentscofield=newStudent();Studentzhang=newStudent(张靓靓,20,唱歌歌);数据类型枚举类型唤醒与激励成功的意识引用类型基本数据类型类结构类型值类型数组接口区别装箱拆箱类型、继承、构造函数、创建对象、字段赋值、枚举类型作用:定义一组有限的值,对可能的值进行约束语法:访问修饰符enum枚举名{值1,值2…}publicenumAccp{S1,S2,Y2}//……Console.WriteLine(S2的值是{0}.,Accp.S2.ToString());泛型集合:由于数组在程序中无法动态的添加和删除某个元素由于ArrayList和HashTable有一定的局限性ListTDictionaryk,v无需装箱、拆箱方法类似方法类似可以组为类中的一个属性,使用泛型集合必须实例化泛型是未来五年的主流技术之一泛型集合比传统集合相比类型更安全解决了很多需要繁琐操作的问题泛型集合无需装箱拆箱操作例:用泛型保存班级人数ListStudentstudents=newListStudent();students.Add(scofield);students.Add(zhang);…ListTDictionaryk,v揭开泛型神秘面纱^_^T、K,V表示该泛型集合中的元素类型CLR支持泛型…Dictionarystring,Studentstudents=newDictionarystring,Student();students.Add(scofield.Name,scofield);students.Add(zhang.Name,zhang);…文件读写与xmlFileStreamfs=newFileStream(path,FileMode.Create);StreamWritersw=newStreamWriter(fs);sw.Write(content);sw.Close();fs.Close();读写文件的五个步骤:创流、创器、读写文件、关器、关流写:读:FileStreamfs=newFileStream(path,FileMode.Open);StreamReadersr=newStreamReader(fs);content=sr.ReadToEnd();//content=sr.ReadLine();sr.Close();fs.Close();XML与TreeView还学过什么View…想想HTML…?xmlversion=1.0encoding=utf-8?SchoolStudent1Name张靓靓/NameAge20/AgeHobby唱歌/Hobby/Student1Student2Name周杰杰/NameAge22/AgeHobby耍双节棍/Hobby/Student2Student3Name丁俊俊/NameAge20/AgeHobby打斯诺克/Hobby/Student3/SchooltvMyXml.Nodes.Clear();XmlDocumentmyXml=newXmlDocument();myXml.Load(“FileName.xml”);//读xml文档XmlNodestudent=myXml.DocumentElement;//读根结点foreach(XmlNodenodeinstudent.ChildNodes){TreeNodestudentNode=newTreeNode(node.Name);tvMyXml.Nodes.Add(studentNode);foreach(XmlNodesubNodeinnode){studentNode.Nodes.Add(subNode.InnerText);}}面向对象的三大特性:继承:建立类之间的关系,实现代码复用,方便系统扩展封装:保证对象自身数据的完整性、安全性多态:相同的方法调用可实现不同的实现方式继承:1.被继承的类称为父类或基类,继承其他类的类称为子类或派生类2.用base关键字调用父类的属性、方法、构造函数3.Protected访问修饰符允许子类访问,不允许其他非子类访问。4.具有单根性,一个类不能同时继承多个父类具有传递性,如果classA:B;classB:C,则A也可以访问C的成员5。*base关键字用于指明子类的构造函数调用父类的哪个构造函数如果之类的构造函数没有使用base关键字指明调用父类的哪个构造函数,则父类必须提供一个无参的构造函数6.窗体也可继承,但要注意窗体上的控件的属性……publicStudent(stringname,Gendersgender,intage,stringhobby,intpopularity):base(name,age,gender){//扩展的属性this.Hobby=hobby;this.Popularity=popularity;}实现多态的方法多态:抽象方法虚方法1.用abstract修饰2.不允许有方法体3.必须被子类override重写4,只能在抽象类中1.用virtual修饰2.一定要有方法体,3.可以被子类override4.除了密封类外都可以publicabstractclassMonster{……//将攻击方法设为抽象publicabstractstringAttack(Herohero);}publicclassTurtleMonster:Monster{publicoverridestringAttack(Herohero){……}}父类:子类://使用继承后要判断类型并转换类型调用相应的方法//if(gm.Game.CurrentLevel.Monsters[key]isTurtleMonster)//{monsterMsg=((TurtleMonster)gm.Game.CurrentLevel.Monsters[key]).Attack(gm.Game.Hero);}if(gm.Game.CurrentLevel.Monsters[key]isMonkeyMonster){monsterMsg=((MonkeyMonster)gm.Game.CurrentLevel.Monsters[key]).Attack(gm.Game.Hero);}//使用抽象方法实现多态性monsterMsg=gm.Game.CurrentLevel.Monsters[key].Attack(gm.Game.Hero);用interface来定义,接口中不能有字段、访问修饰符、不能实现接口:IComparable接口有一个未实现的CompareTo()方法,一个类实现这个方法就能够排序。IComparableT为比较器,用于比较两个对象的大小,可以作为参数传递给Sort()方法进行排序。//姓名比较器降序publicclassNameComparerDesc:{publicintCompare(Studentx,Studenty){return(y.Name.CompareTo(x.Name));}}students.Sort(newNameComparerDesc());接口作为参数:privatevoidDocollectHomework(IHomeworkCollectorcollector){collector.CollectHomework();}publicinterfaceIHomeworkCollector{voidCollectHomework();}{……publicvoidCollectHomework(){MessageBox.Show(报告老师!作业收集完毕!);}}publicclassStudentPerson,IHomeworkCollectorDoCollectHomework(newStudent());接口作为返回值:接口作为IHomeworkCollectorcollector=CreateHomeworkCollector(teacher);collector.CollectHomework();privateIHomeworkCollectorCreateHomeworkCollector(stringtype){IHomeworkCollectorcollector=null;switch(type){casestudent:collector=newStudent(Scofield,Genders.Male,28,越狱狱,100);break;caseteacher:collector=newTeacher(成龙龙,35,Genders.Male,2,5000);break;}returncollector;}序列化:怎样结束演讲当听众听到最愉快的顶点,你就应该设法早些结束了。——戴尔。卡耐基把你演讲的要点做一个总结样样使听众实行你的结论用诚挚而简明的赞美做结论一个幽默的结论引用诗文名句做结尾步步加强的结尾法简洁明快的把话停止的恰到好处演讲是人人都有的一种潜在的能力,问题在于每个人是否发现,发展和利用这种天资。一个人能站起来当众讲话是迈向成功的关键性一步。——[美]戴尔。卡耐基
本文标题:课程总结
链接地址:https://www.777doc.com/doc-3969634 .html