【C#】小总

来源:互联网 发布:qq三国100js单刷过关 编辑:程序博客网 时间:2024/04/29 12:50

最近看完了C#视频,但是感觉视频上讲的东西还是太少了,看设计模式的时候有点困难,好多都是懵懵懂懂的。幸好大话设计模式书的后边有一些C#经常用到的东西,就先看的这些东西。有一种拨开云雾的感觉,所以在这里先总结一下。


C#学起来才真正的感觉自己是在面向对象编程。

面向对象

          面向对象其实在学软工和UML的时候就有接触,提到他首先想到的就是抽象,封装,继承,多态。这四者几乎贯穿所有的面向对象的这个概念。不论你是用到类,还是对象,还是方法,还是属性。都是围绕这四个东西尽量的做到代码的复用简单,扩展简单,和程序的灵活性好。


          类是一个抽象的概念,它是具有相同的属性和功能的对象的抽象的集合。所谓的对象简单的来说就是可以用一组可以识别的特征和行为的一个实体。在面向对象的编程中类的实例化就是一个对象。  
   
方法

         在这里为什么把方法单独提出来讲呢?原因就是我发现我们写代码其实就是在写各种各样的函数(方法)来满足我们软件的要求。在这个图中我把构造方法,方法的重构,方法的重载,委托(事件)都归到了这里,这些都是最常用的。方法的灵活使用有助于我们写好可复用和灵活性好的代码。

抽象类

        抽象类用我的话来说,比如你有一个类,但是这个类的实例化我们还是不知道是个什么实体,那么这个类就是抽象类。比如:动物类,我们“new  动物()”那他还是一个动物,而不知道这个动物是个什么东西。那么这个类就可以定义为抽象类。抽象类生来就是要被继承的,而不能被实例化(这一点和接口很像)。  代码的书写中不论抽象类还是抽象方法它的声明语句中都会有一个abstract关键字。  
     
接口

        看了几个关于接口的设计模式,才明白接口到底是一个什么东西。接口其实就是一个抽象出来的一个方法,只是这个方法不提供怎么实现,只需要定义就行。然后让其他实现接口的类继承这个接口再写实现的方法。借用一位大神的话:“接口只是一种契约。使用 interface 去定义某些特定的功能,为的是不要将代码写死在自定义 class、function 里,以便在系统开发、事后维护、功能扩充 上更有弹性。“用我的话就是当某些类都需要需要实现某些特定功能的片段的时候,就定义一个这个接口,然后继承并实现这些特定片段功能的接口。
        例如:飞()这个行为,应该不属于人类,而超人类可以继承人类,同时这个超人类必须实现飞这个方法(因为超人既是人,又可以飞)。怎么办呢?鸟类能实现飞();飞机物亦能,而超人类,鸟类,飞机物类如何抽象上层类呢?这就用到了接口,定义一个飞的接口,这样这三个不同的类就都可以是实现飞这个动作了。

这只是我的一点观点,还了解的不深,如果有错误欢迎提出!

0 0
原创粉丝点击