C#语法与面向对象基础.docx_第1页
C#语法与面向对象基础.docx_第2页
C#语法与面向对象基础.docx_第3页
C#语法与面向对象基础.docx_第4页
C#语法与面向对象基础.docx_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C#语法和面向对象基础学习笔记2012/12/292013/01/5C#语法与面向对象基础第一节 C#基础1.控制台程序简介: 类似于C语言的显示界面,一般需要下列三个常见的命令:(1)控制台界面打印:Console.WriteLine(请输入您的姓名)(2)控制台后台读取:string name=Console.ReadLine(),返回的永远都是字符串。(3)控制台界面暂停:Console.ReadKey()2.特殊符号:(1)占位符: 占位符类似于C语言中的占位符,从0开始,依次类推。static void Main(string args) Console.WriteLine(请输入您的姓名); string boy = Console.ReadLine(); Console.WriteLine(请输入您女朋友的名字); string girl = Console.ReadLine(); Console.WriteLine(0+1=2,boy,girl,boy+爱+girl); Console.ReadKey(); (2)转义符: 转义符“”,因此若想在控制台输出“”必须经过转义之后才能正确输出。static void Main(string args) int a = 45; int b = 5; Console.WriteLine(01=2, a, b, a / b); Console.ReadKey(); 若想将转义符释放作用,只需要在前加上符号。如:string s = 1234;3.类型转换: 类型转换一般选用convert表达式。(1)Convert.ToInt32():转换成正整数(2)Convert.ToString():转换成字符串static void Main(string args) Console.WriteLine(请输入第一个数字); string a = Console.ReadLine(); int num1 = Convert.ToInt32(a); Console.WriteLine(请输入第二个数字); string b = Console.ReadLine(); int num2 = Convert.ToInt32(b); Console.WriteLine(0+1=2, num1, num2, num1 + num2); Console.ReadKey(); 第二节 面向对象-类1.面向对象的三个特征:(1)封装(2)继承(3)多态2.类的简介:(1)类的定义:类是抽象的,对象是具体的。类可以从其上一级或者同级的类中继承本身不具有的特性。类中包含字段、方法和属性。 class Person public string Name;/*Name即是Person类的字段*/ public int Age; public void Say()/*Say()即是Person类的方法*/ Console.WriteLine(0您好,Name); /*使用了占位符,打印*/ (2)类的使用: 类的使用以new字段开始,在使用时要注意类中的字段或者方法是公共部分还是私有部分。 class Program static void Main(string args) Person zhenghao = new Person();/*新建一个zhenghao的类*/ zhenghao.Name = 郑昊;/*Person类中的Name字段是公共的,因此可以使用*/ zhenghao.Age = 26; Console.WriteLine(zhenghao.Name); Console.WriteLine(zhenghao.Age); zhenghao.Say(); Console.ReadKey(); (3)类中成员的访问级别:A、public:任何地方都可以访问。B、private:只有所在的类自己能访问,字段一般都定义成私有private。C、internal:内部的文件可以使用。(4)类中的属性: 类中的字段一般设立为私有(private),在需要对私有的字段进行修改时,则需要通过类中的属性来实现。属性中通过set和get来进行操作,其中set是赋值,get为取值。这样的好处主要是控制非法值。class Program static void Main(string args) Person zhenghao = new Person(); zhenghao.Name = 郑昊; Console.WriteLine(zhenghao.Name); Console.ReadKey(); class Person private int age; private string name; public string Name set if (value = zhenghao) Console.WriteLine(非法值!); return; = value; get return ; 主调函数调用类中的私有字段name类中的公共属性Name 判断 主调函数static void Main(string args)在新建一个Person类后使用其中的Name属性,Name属性中则采用所在类的私有字段字段在主调函数中无法使用,但是主调函数可以使用Name属性。3.构造函数: 构造函数用于创建对象,并对对象进行初始化。类似于类,是类中的一种没有返回值的函数,函数名必须与类名一致。如果在类中不写构造函数,则.framework默认为其已经有一个不需要参数的构造函数。这就是我们在定义完类后,在新建对象是使用new 类名()。 class Program static void Main(string args) Robot R1 = new Robot();/*在新建Robot类时系统已经默认Robot中含有构造函数,该函数不需要任何参数*/ Public Robot() class Robot /*在Robot类中并没有构造函数*/ class Program static void Main(string args) Robot R1 = new Robot(); Robot R2 = new Robot(郑昊); Robot R3 = new Robot(郑昊, 26); Console.WriteLine(01, R1.Name,R1.Age); Console.WriteLine(01, R2.Name,R2.Age); Console.WriteLine(01, R3.Name,R3.Age); Console.ReadKey(); class Robot public string Name get; set; public int Age set; get; public Robot() this.Name = 未命名; this.Age = 0; public Robot(string name) this.Name = name; public Robot(string name, int age) this.Name = name; this.Age = age; 4.值引用和对象引用: 值类型只是简单的赋值,赋值的时候是类似于传递“拷贝”;对象的引用则类似于C语言中的指针,他们传递的是引用。下面的R1和R2两个对象其实指的都是age=10。 static void Main(string args) -数值引用- int a = 10; int b = a; a+; /*a自增1后,b不会改变*/ Console.WriteLine(a=0,b=1, a, b);-对象引用- Robot R1 = new Robot(10); Robot R2 = R1; R1.Age+; /*R1.Age自增1后,R2.Age也会相应的自增1*/ Console.WriteLine(R2.Age); Console.ReadKey(); 5.继承: 子类可以继承其他类作为其父类,子类后面使用冒号连接父类。子类能集成父类所有的字段和属性以及方法。.NET平台中所有的类都继承于object类class Program static void Main(string args) Chinese C1 = new Chinese(); C1.Name = 郑昊; C1.Age = 26; C1.Height = 20.4M; C1.Destination = 河南省新蔡县; class Person private string name; private int age; private decimal height; public string Name get; set; public int Age get; set; public decimal Height get; set; 父类为人 class Chinese:Person private string destination; public string Destination get; set; 6.异常: 使用trycatch语句来测试异常。若想让系统显示自己定义的异常提示,只需要使用throw语句即可。class Program static void Main(string args) try Person P1 = new Person(); int C=P1.Sum(1, 8); Console.WriteLine(C); Console.ReadKey();显示自定义异常 catch (Exception Erro) Console.WriteLine(数据错误+Erro.Message); Console.ReadKey(); class Person public int Sum(int a, int b) int sum;自定义异常 sum = a + b; if (sum 10) throw new Exception(数字太小); return sum; 第三节 变量和命名空间1.常量: 常量以const开头,表示不会发生改变的量。2.变量: (1)全局变量:使用关键字static,该变量无需新建对象,直接使用。也可以在不同的命名空间中使用。在static成员中只能使用static成员(包括字段、属性和方法),不能使用非static成员。类也可以使用static修饰,该种类为静态类,他们不能被实例化(new方法),直接使用即可。(2)局部变量:public和private修饰。3.命名空间: 在.NET中若要使用不在同一命名空间下的类则需要引用该命名空间,使用using关键词。namespace 第节_命名空间.Person_class class Person private string name; private int age; public string Name get; set; public int Age get; set; public void Say() Console.WriteLine(欢迎您+Name); -using System;using System.Collections.Generic;使用Using引用命名空间using System.Linq;using System.Text;using 第八节_命名空间.Person_class;namespace 第八节_命名空间 class Program static void Main(string args) Person P1 = new Person(); P1.Name = 郑昊; P1.Say(); Console.ReadKey(); 4.索引器: 在.NET中可以使用索引来进行相关的操作。class Program static void Main(string args) int num = 1, 2, 3, 4 ; int i = num2; Console.WriteLine(i); Console.ReadKey(); Person P1 = new Person(); P11 = 郑昊; Console.WriteLine(P11 + P12); Console.ReadKey(); class Person 索引器函数,this指代构造函数 private string FirstName=杨静; private string SecondName=刘亦菲; public string thisint index set if (index = 1) FirstName = value; else if (index = 2) SecondName = value; else throw new Exception(传入的数据有误); get if (index = 1) return FirstName; else if (index = 2) return SecondName ; else throw new Exception(传入的数据有误); 第四节 类中属性和函数的比较 类中的属性和函数有所类似,由于属性中也有set和get,故也需要指定属性的类型。函数指定的类型即为函数参数类型。 例如public int Age get; set; 中属性Age后面直接为,括号中则是取值和赋值的get和set,在使用时直接P1.Age = 26。例如public void Say(string NAME)中函数Say()后面也为,括号中即是对参数NAME的操作过程,在使用时需要给Say()提供正确类型的参数。P1.Say(杨静)。class Program static void Main(string args) Person P1 = new Person(); P1.Name = 郑昊; P1.Age = 26; P1.SayHello(); P1.Say(杨静); Console.ReadKey(); class Person 类中的属性 private string name; 无需参数的函数 private int age; public string Name get; set; public int Age get; set; public void SayHello() 需要参数的函数 Console.WriteLine(您好,0,Name); public void Say(string NAME) Console.WriteLine(您好,0, NAME); 第五节 windowform开发实例1.加法测试器: 简介:简单的求取两个数的和,当其中一个数的格式错误时,程序自动跳出。private void button1_Click(object sender, EventArgs e) 转换函数转换失败 string s1 = textBox1.Text; string s2 = textBox2.Text; int i1, i2,sum; if(!int.TryParse(s1,out i1)文本框清零,程序停止 MessageBox.Show(第一个数格式有错误); textBox1.Text = ; textBox2.Text = ; return; if(!int.TryParse(s2,out i2) MessageBox.Show(第二个数格式有错误); textBox1.Text = ; textBox2.Text = ; return; i1 = Convert.ToInt32(s1); i2 = Convert.ToInt32(s2); sum = i1 + i2; textBox1.Text = ; textBox2.Te

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论