您的位置:首页 > 职场人生

黑马程序员——.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 关键字用于定义索引器。

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: