部分类和部分方法

部分类是用partial声明的类,它允许我们把一个类分割成两个或多个类,当应用程序编译的完成的时候,多个部分类会结合成一个类,同时partial关键字也可以用于声明结构和接口。

那么下面问题来了,为什么要有部分类呢?

既然微软创造了这么一个东西,肯定有它存在的意义的

存在意义之一:

如果大家留意的话,会发现我们创建的webform程序或者windowform程序时,默认情况下会自动生成两个文件:webfrom1.aspx.cs和webform1.aspx.designer.cs,然后你会发现这两个类都用了关键字partial去声明了,没错,这就是部分类应用的所在,我认为它是为了code-behind技术而生的,因为声明了部分类,系统自动生成的代码和我们自己打的代码得以分离,已于代码的阅读和理解,提高开发效率。

存在意义之二:

处理大型项目时,把一个复杂的类可以分成多个部分类给多个程序员同时进行开发。不过,微软声明这是一个好处,除了上面说的例子之外,我没在其他地方见过的使用部分类,使用分部类的就让让多个部分类一起工作而已。。。
 
下面就是部分类在使用的时候注意的几点
一:如果声明了一个部分类,另一个类和部分类的类名相同的话编译是不通过的,必须两个都是部分类才能编译通过
二:多个部分类的访问修饰符要一致。
三:如果一个部分类为抽象或者密封类,那么所有的部分类都要声明为抽象或者密封类
四:如果部分类为派生类,那么其基类要相同
 
部分方法
在部分类和部分结构中可以声明partial的方法
当在一个部分类写一个部分方法时,可以只声明方法签名,然后在另一个部分类中写一个签名相同带有方法体的方法去实现它,也可以同时声明方法和方法体,但不可以再在另一个部分类中再次声明该方法。在一个部分类中不可以同时声明部分方法并且带有方法体。
部分方法的默认修饰符是private,所以不可以再用private去修饰它,而且部分方法的不可以有返回值,也就是说只能是void。

最新文章

  1. Huffman Tree
  2. 【开源】分享一个前后端分离方案-前端angularjs+requirejs+dhtmlx 后端asp.net webapi
  3. 【python网络编程】新浪爬虫:关键词搜索爬取微博数据
  4. php 在客户端生成txt文件并且下载
  5. Chapter 3
  6. sublime text3输入中文的问题.
  7. 链表中倒数第K个节点
  8. 访问Tableau自带的PostgreSQL数据库
  9. Java equals 和 hashcode 方法
  10. Cocos2dx使用网络图片
  11. Linux学习 -- 服务管理
  12. Java内部类与final关键字详解
  13. [Linux] Desktop Management
  14. 福州大学W班-助教总结
  15. 通过JNDI从服务器容器中获取资源_Spring JNDI+Mysql+Tomcat
  16. 低版本IDE 打开 高版本 IDE 代码时 unit
  17. Go中的Init函数
  18. JavaScript 组数去重demo
  19. 使用Log4j2实现日志输出
  20. Groovy与Java集成常见的坑

热门文章

  1. 华为云计算IE面试笔记-华为云计算解决方案业务迁移支持哪些迁移?有哪些特点?请描述基本的业务交付流程、业务迁移流程和原则。
  2. P5488-差分与前缀和【NTT,生成函数】
  3. P6122-[NEERC2016]Mole Tunnels【模拟费用流】
  4. 使用Jacoco统计服务端代码覆盖情况实践
  5. MySQL8.0.20下载与安装详细图文教程,mysql安装教程
  6. Linux从头学15:【页目录和页表】-理论 + 实例 + 图文的最完全、最接地气详解
  7. JVM学习笔记——方法区
  8. Linux Bash命令杂记(tr col join paste expand)
  9. Go语言核心36讲(Go语言基础知识二)--学习笔记
  10. JUC多线程之ThreadPoolExecutor类任务执行流程