黑马程序员技术交流社区

标题: 部分类的作用是什么?一般在什么情况使用部分类? [打印本页]

作者: qiubo    时间: 2014-4-3 09:33
标题: 部分类的作用是什么?一般在什么情况使用部分类?
本帖最后由 qiubo 于 2014-4-3 10:10 编辑

今天看到部分类的知识,感觉比使用普通类麻烦,作用却是一样的,那一般什么情况会使用到部分类?
作者: 阳春烟景    时间: 2014-4-3 09:41
本帖最后由 阳春烟景 于 2014-4-3 09:43 编辑

这是之前做的学习笔记:希望对你有用:

使用partial关键字可以声明部分类, 部分类的作用是可以在多个文件中声明同一个类, 主要用于类比较大的时候进行拆分,或者xaml中使用也比较多。

在下面创建了3个.cs文件,分别是 Name.cs Age.cs Sex.cs

三个文件中都是在声明同一个类 MyClass  。 看代码。

Name.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
   partial class MyClass
    {
       public void ShowName()
       {
           Console.WriteLine("姓名: 梦断难寻");
       }
    }
}



Age.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    partial class MyClass
    {
        public void ShowAge()
        {
            Console.WriteLine("年龄 : 19");
        }
    }
}



Sex.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
   partial class MyClass
    {
       public void ShowSex()
       {
           Console.WriteLine("性别: 男");
       }
    }
}



接下来要在主单元中实例这个类

Pragorm.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            MyClass My = new MyClass();
            My.ShowName();
            My.ShowAge();
            My.ShowSex();
        }
    }
}




不要把部分类以为是定义了多个类,其实还是一个类,只是把这个类拆分了。 在程序运行的时候编译器会把这个类合并在一起的, 这样做的好处是,当你有一个类很大的时候你可以按实现功能拆分在不同的文件中,这样就方便阅读和修改了。



作者: qiubo    时间: 2014-4-3 10:09
阳春烟景 发表于 2014-4-3 09:41
这是之前做的学习笔记:希望对你有用:使用partial关键字可以声明部分类, 部分类 ...

谢谢!现在了解了
作者: redlong    时间: 2014-4-3 19:32
简单来说吧,部分类部分类就是类的一部分,用partial关键字来修饰。这个类有什么用,举个例子来说,你在公司做项目,一个页面可能需要多个人来开发,你不可能等着一个人做完之后提交,你在获取他提交的代码,这样效率很低,而且也会影响进度,有了部分类就好说了,新建部分类可以同时进行修改,互不影响。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2