---------------------- 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培训、期待与您交流! ----------------------