黑马程序员——.NET笔记9 面向对象(第二季教程)
2013-09-02 00:20
190 查看
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------
内容跟第一季内容差不多,当成复习回顾一遍吧。
概念
类---实例化-->对象 对象---抽象-->类
面向对象三特性:封装、继承、多态。
继承。父类、基类。子类。重用。
访问级别 访问修饰符
控制可访问范围,达到 封装 目的。
永远不要把字段public
属性 用于保护字段
继承
子类继承父类全部成员
声明子类对象 不可指向父类对象(错误:父类 p; 子类 a = p;)
强制类型转换(父类 p = new 子类(); 子类 a = (子类)p; )(错误:父类 p = new 子类2(); 子类 a = (子类)p; )
Object是一切类的基类。
异常处理
try{}内出现异常,异常语句后直至“}”的语句不再执行,转而执行catch{},及之后的语句
catch()参数 catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); }
throw new Exception("自定义异常提示消息")
静态成员 static
非静态成员要求对象引用
静态成员可以直接用类名调用,不需创建(new)对象
public静态成员 全局变量
静态成员可以调用静态成员,不可调用非静态成员(因需对象引用)
非静态方法可以调用静态成员和非静态成员
静态类 不能被实例化(new),一般用来实现一些数据库 ***Helper
命名空间
using 加入命名空间,即可直接使用其它命名空间的成员
索引器
这是第一季没讲过的新内容,感觉似乎会很实用,不过现在也想不到能用在哪里,老师也没具体讲,先记下来用法。
使用索引器可以用类似于数组的方式为对象建立索引。
this 关键字用于定义索引器。
索引器不必根据整数值进行索引,参数可以是任何类型,或以有多个参数。
索引器可被重载。
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net
内容跟第一季内容差不多,当成复习回顾一遍吧。
概念
类---实例化-->对象 对象---抽象-->类
面向对象三特性:封装、继承、多态。
继承。父类、基类。子类。重用。
访问级别 访问修饰符
控制可访问范围,达到 封装 目的。
永远不要把字段public
属性 用于保护字段
继承
子类继承父类全部成员
声明子类对象 不可指向父类对象(错误:父类 p; 子类 a = p;)
强制类型转换(父类 p = new 子类(); 子类 a = (子类)p; )(错误:父类 p = new 子类2(); 子类 a = (子类)p; )
Object是一切类的基类。
异常处理
try{}内出现异常,异常语句后直至“}”的语句不再执行,转而执行catch{},及之后的语句
catch()参数 catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); }
throw new Exception("自定义异常提示消息")
静态成员 static
非静态成员要求对象引用
静态成员可以直接用类名调用,不需创建(new)对象
public静态成员 全局变量
静态成员可以调用静态成员,不可调用非静态成员(因需对象引用)
非静态方法可以调用静态成员和非静态成员
静态类 不能被实例化(new),一般用来实现一些数据库 ***Helper
命名空间
using 加入命名空间,即可直接使用其它命名空间的成员
索引器
这是第一季没讲过的新内容,感觉似乎会很实用,不过现在也想不到能用在哪里,老师也没具体讲,先记下来用法。
使用索引器可以用类似于数组的方式为对象建立索引。
this 关键字用于定义索引器。
class Program { static void Main(string[] args) { Person p = new Person(); p["姓"] = "李"; p["名"] = "四四"; Console.WriteLine("姓名是:{0}", p.FullName ); Console.ReadKey(); } } class Person { private string FirstName = "张"; private string SecondName = "三三"; public string FullName { get { return FirstName + SecondName; } } public string this[string index] { set { if (index=="姓") { FirstName = value; } else if (index=="名") { SecondName = value; } else { throw new Exception("序号错误"); } } get { if (index == "姓") { return FirstName ; } else if (index == "名") { return SecondName ; } else { throw new Exception("序号错误"); } } } }
索引器不必根据整数值进行索引,参数可以是任何类型,或以有多个参数。
索引器可被重载。
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net
相关文章推荐
- 黑马程序员——Java基础->面向对象(下)
- 面向对象的PHP开发框架FCS教程[1] 框架基础
- 黑马程序员—OC语言基础—面向对象的三大特性(1)
- 黑马程序员—_面向对象(一)
- 【PHP面向对象(OOP)编程入门教程】10.__set(),__get(),__isset(),__unset()四个方法的应用
- 黑马程序员_Java基础_面向对象(二)_06
- 黑马程序员---Java基础---面向对象:类的组成部分
- 黑马程序员——Java 面向对象_多态
- 黑马程序员--------------面向对象(一)
- 【PHP面向对象(OOP)编程入门教程】1.什么是面向对象?
- 【黑马程序员】面向对象(六) 第十天
- 黑马程序员_java_面向对象_异常
- 黑马程序员--Java面向对象——集合框架总结
- java--面向对象(3)--黑马程序员
- 黑马程序员--Java面向对象——IO流其他对象
- 黑马程序员——java面向对象的常见问题
- 黑马程序员---面向对象:内部类、异常和包
- 黑马程序员_java封装-继承-多态为面向对象的三大基石
- 黑马程序员——Java基础之面向对象(一)
- 黑马程序员——面向对象最全总结:谁说程序员没有“对象”