开胃小菜—面向对象基础

一、类与实例

对象:一个自包含的实体,用一组可识别的特性行为来标识。

面向对象编程(Object—Oriented Programming)

类 :具有相同属性和功能对象的抽象的集合。类名称首字母和各单词首字母要大写。


二、构造方法

构造方法:又叫构造函数。其实对类进行初始化。构造方法与类同名,无返回值,也不需要Void,在new时调用。

所有的类都有构造方法,比如:Cat cat=new Cat();中,new后面的Cat()就是默认为空的构造方法。


三、重载

方法重载的参数类型和个数必须有所不同。优点:在不改变原来方法的基础上,新增功能。


四、属性

属性是一个方法或一对方法,但在调用它的代码看来,它是一个字段,即属性适合于以字段的方式使用方法调用的场合。

字段是私有的,属性公有的变量。

属性的两个方法:

get——返回与声明的属性相同的数据类型,表示的意思是调用时可以得到内部字段的值或引用。(读)

set——有一个隐式参数,Value表示。调用属性时可以给内部的字段或引用赋值。(写)


五、封装与继承

封装好处:减少耦合、类内部自由修改、类具有清晰的对外接口

对象的继承“is-a"的关系

子类继承与父类的三句话

——子类拥有父类非private的属性和功能

——子类可以扩展属性、功能 

——方法重写(以自己的方式实现父类的功能)


六、多态

不同 的对象可以 执行相同的动作,但要通过自己的代码执行。

代码实现:父类必须将该成员声明为虚拟的(virtual),然后子类使用 重写(override).索引器、事件、属性都是可以重写的。字段不可以重写。


七、抽象(abstract)类

抽象类需要注意三点:

——抽象类不能实例化,比如动物new动物。没有意义

——抽象方法是必须被子类重写的方法。

——如果类中含有抽象方法,类必须定义为抽象类。


八、接口(interface)

接口是把隐式公共方法和属性组合起来,为了封装一个特定功能的一个集合。接口不能实例化,不能有修饰符、不能有构造方法、字段。

接口中的方法或属性没有修饰符、方法没有方法体。

Interface与abstract类区别:对行为的抽象、对类的抽象。


九、集合、泛型

集合:ArrayLIst是命名空间system.collections下的一部分。声明可以使用IList接口,也可以直接声明。

泛型:LIst<string> 需要System.collections.Generic的命名空间。声明可以 使用IList接口,也可以直接声明。


十、委托与事件

委托是一种引用方法的类型。一旦委托分配了方法,委托与方法有相同的行为。事件是用来 通知消息的。

比如猫和老鼠。只要猫一叫,老鼠立刻跑。

//public delegate void CatShoutEventHandler(object sender,CatShoutEventArgs args);//声明委托
            //public event CatShoutEventHandler CatShout;//声明事件
            cat.CatShout += new Cat.CatShoutEventHandler(mouse1.Run);
            cat.CatShout += new Cat.CatShoutEventHandler(mouse2.Run);



 








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 24
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值