Abstract-抽象类_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > Abstract-抽象类

Abstract-抽象类

 2013/9/13 11:52:44  KaneGuo  博客园  我要评论(0)
  • 摘要:本人理论较差,之前会做却不明原因,最近在改别人的代码发现实现方式完全不同,但对于我这个理论白痴来说完全不知道为什么别人要这么写,好处在哪里。没有理论的指导,会用也只是不断的Copy前人,永远无法让程序拥有自己的灵魂。创新!为什么各种设计模式、框架都是老外先想出来?创新,国人要自强。而只有明白了原由才能创新,没有庞大的理论知识支撑一切都是空谈。我不想永远跟着别人跑,所以我决定从今天开始我要努力学习理论知识,希望各路大神能够给予指点,同时也能让其它理论菜鸟能够一起学到知识。废话不多说了,开始正题
  • 标签:抽象

本人理论较差,之前会做却不明原因,最近在改别人的代码发现实现方式完全不同,但对于我这个理论白痴来说完全不知道为什么别人要这么写,好处在哪里。

没有理论的指导,会用也只是不断的Copy前人,永远无法让程序拥有自己的灵魂。

创新! 为什么各种设计模式、框架都是老外先想出来?创新,国人要自强。而只有明白了原由才能创新,没有庞大的理论知识支撑一切都是空谈。我不想永远跟着别人跑,所以我决定从今天开始我要努力学习理论知识,希望各路大神能够给予指点,同时也能让其它理论菜鸟能够一起学到知识。

废话不多说了,开始正题:

什么是抽象类?什么是抽象方法?作用是什么?什么时候用?

一贯风格Code+说明

class="code_img_closed" src="/Upload/Images/2013091311/0015B68B3C38AA5B.gif" alt="" />logs_code_hide('9390b2d8-ee38-4854-ab1c-4213ce42a8c5',event)" src="/Upload/Images/2013091311/2B1B950FA3DF188F.gif" alt="" />
 1 namespace Business
 2 {
 3     /// <summary>
 4     /// 0.不能实例化
 5     /// 1.单继承
 6     /// 2.继承类 必须实现内部的抽象方法(override),如继承类为抽象类 可由其子类实现,简单示意:
 7     /// 抽象类Parent - 抽象类Child1 - 抽象类Child2.....抽象类ChildN - 类(实现抽象方法)
 8     /// 3.内部可以没有抽象方法(还有存在意义?)
 9     /// 
10     /// 应用场景:
11     /// 妖是妖他妈生的,所以妖必需继承他妈的基因(抽象类),妖他妈有头(抽象方法),但妖的头不会和他妈的头长一模一样(实现抽象方法)。
12     /// 程序应用场景:
13     /// 想不出来,各位大神请帮下忙。
14     /// </summary>
15     public abstract partial class AbstractDemo
16     {
17         /// <summary>
18         /// 与普通类内方法无异,可选择调用,比如公共的方法(狗只会叫,不会说人话,在这里实现就行了)
19         /// </summary>
20         /// <param name="why"></param>
21         /// <returns></returns>
22         public string SayWhy(string why)
23         {
24             return why;
25         }
26 
27         partial void SayWhy();
28 
29         /// <summary>
30         /// 用抽象类,就是为了这个:抽象方法
31         /// 必须被实现
32         /// </summary>
33         /// <param name="what"></param>
34         /// <returns></returns>
35         public abstract string SayWhat(string what);
36 
37         /// <summary>
38         ///extern 
39         ///官方说明:
40         ///修饰符用于声明在外部实现的方法。 extern 修饰符的常见用法是在使用 Interop 服务调入非托管代码时与 DllImport 特性一起使用。 在这种情况下,还必须将方法声明为 static,如下示例所示:
41         ///[DllImport("avifil32.dll")]
42         ///private static extern void AVIFileInit();
43         /// </summary>
44         /// <returns></returns>
45         public extern string Answer();
46     }
47 }
Abstract Demo

光嘴上说,也许很难(至少本人还没达到这境界),配上代码 理论+实践 个人认为是最好的一种了解、掌握新知识的方法。

程序应用场景:
想不出来,各位大神请帮下忙。
发表评论
用户名: 匿名