黑马程序员---面向对象学习

来源:互联网 发布:淘宝买家贷款操作流程 编辑:程序博客网 时间:2024/06/04 17:44

 1.类、对象。“人”是类,“张三”是“人”这个类的对象。类是抽象的,对象是具体的。按钮就是类,某个按钮就是对象。对象可以叫做类的实例(Instance)。类就像int,对象就像10。字段Field(和某个对象相关的变量),字段就是类的状态。人这个类有姓名、年龄、身高等字段。类不占内存,对象才占内存。

2.方法Method,方法就是类能够执行的动作,比如问好、吃饭等。类的继承,类之间可以有继承关系,比如“电脑”类可以从“电器”类继承,这样的好处是“电脑”类只需要定义自己特有的字段、方法就可以,也就是只要定义内存大小、CPU型号这些字段或者弹出光驱等方法就可以。父类(Parent)、基类(Base,基业,祖宗十八代传下来的)。

3.面向对象的三个特性:封装、继承、多态。

 

4.访问修饰符:

private 当前类中可以访问,类中成员的默认访问修饰符。

protected 当前类及子类中可以访问(在继承中用。)

*internal 当前程序集内部可以访问

protected internal 当前程序集或子类中(不同程序集也可以访问)。

public 任何地方

5.惯用法:属性开头字母大写,字段开头字母小写

class Person

{

privateint age;

publicint Age

   {

get{return age;}

set{age=value;}

   }

public void SayHello()

   {

Console.WriteLine("我的年龄是{0}",Age);

   }

}

6.构造函数用来创建对象,并且可以在构造函数中对对象进

行初始化。构造函数是用来创建对象的特殊函数,函数名和类名一样,没有返回值,连void都不用。构造函数可以有参数,new对象的时候传递函数参数即可构造函数可以重载,也就是有多个参数不同的构造函数。

如果不指定构造函数,则类有一个默认的无参构造函数。

如果指定了构造函数,则不再有默认的无参构造函数,

如果需要无参构造函数,则需要自己来写。

7.对象的隐式转换和显式转换

Chinese ch= new Chinese();

//隐式转换,把子类变量赋值给父类变量

Person p = ch;

//显式转换,把父类变量赋值给子类变量

Person p = new Chinese();

Chinese ch = (Chinese)p;

//如果对象不在同一个继承树路径上

//则不能强制类型转换

Dog g = new Dog();

Chinese ch = (Chinese)g;//错误

//is运算

if(p is Chinese)

{

Console.WriteLine("中国人");

}

else if(p is Korean)

{

Console.WriteLine("韩国人");

}
 

//as 运算符

Chinese ch = p as Chinese ;

if(ch!=null)

{

Console.WriteLine("中国人");

}

Korean ch = p as Korean ;

if(ch!=null)

{

Console.WriteLine("韩国人");

}

()转换和as 转换的区别:如果转换失败()

     会报异常,而as则会返回null。
 

 8.异常与异常处理传统的错误表示方式:错误码。举例。需要知道不同错误码的含义,如果不处理错误码,则程序可能陷入不可以预置的错误。陈摄影师以为文件已经被删除造成的麻烦。

错误码的缺点:不处理则很难发现,每次处理则很麻烦;

难以看出错误的原因;容易使得程序进入不确定状态。

try catch。Exception ex 异常也是对象。

Exception 类主要属性:Message、StackTrace

发生异常后程序默认就退出了,try代码块中的后续代码不

会被执行。catch以后的代码则会继续执行。

不要吃掉异常,一般情况下不需要处理异常。

扔出自己的异常,扔:throw,抓住:catch

9.常量与静态成员

const常量。常量名要大写。一定不会变化的值才能声明为常量。

全局变量。static类变量。

不用new就能用的方法:static方法,static方法其实就是普通函数在static方法中可以调用其他static成员,但是不能调用非static成员。在非static方法中可以调用static成员。静态类,不能被new的类就是静态类。静态类一般用来实现一些函数库。***Helper,SqlHelper,PageHelper。

原创粉丝点击