频道栏目
首页 > 资讯 > C# > 正文

C#面向对象入门

17-07-11        来源:[db:作者]  
收藏   我要投稿

C#面向对象大纲 面向对象的三大特性是 封装 继承 多态

两大数据类型 值类型 引用类型 除了基本数据类型和struct外均为引用类型

类中的成员有 字段 属性 索引 方法 委托和事件

可写属性为了数据有效可对其约束。

c#不允许多继承,只允许单继承,

依赖倒置原则:设计时应依赖于抽象类,而不是具体类。

多态的好处,通过抽象类指向各个子类建立一个集合方便管理,所以,具体类中的特有的特性越少越好,尽量重写方法。

泛型:类型占位符,为了限制占位符的有效性 可用关键字where进行约束 where T:类名,class,struct,接口,new()。。。。

好处,通过where:基类名 构造各种各样的类,方法来生成工具(如抽象的关押特定类型犯人监狱,特定类型的商品价格减价处理等,好处:直接可以处理一批,避免重复编写)处理通过多态生成的子类集合

泛型的一个好处是可以建立一个类似于中间者的角色,比方说令角色与技能的设计独立开

可以设计一个角色类,派生出各种角色(尽量重写方法,不要加入独有的特性,非要加可以用接口)

设计一个技能类,派生出各种人物技能(同上)

再设计一个泛型接口,将占位符的类型限制为技能类

泛型接口里面的方法是释放技能,学习技能,升级技能。

通过占位符来实现不同的人物实现不同的技能接口。

假如游戏要大幅度调整,也不用删除大量代码,改改接口就可以了,技能不行改技能,学习接口(改不了,还是不太好),角色不行改角色,互不干扰

理论上是可行的,具体我没试过。但是这种想法可以实现技能和角色相分离,极大的降低耦合度。

索引:类似于属性 通过switch语句设计,具体用途不知道。

委托和事件结合是一种常见的设计模式:观察者模式, 发布者在发布新内容时通知订阅者

所以在发布者类中定义事件

在发布者发布行为方法内触发事件

在订阅者内定义通知方法

在订阅者关注行为方法里面登记该事件为通知方法

所以,此时,发布者若发布新内容,则会触发事件,而登记的事件为实例化的客户对象的通知方法,所以会通知每一个订阅者。

相关TAG标签
上一篇:PAT A1088 Rational Arithmetic (20)
下一篇:代理模式及Java实现动态代理
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站