03 初识类与名称空间

03 初识类与名称空间

剖析Hello, World

  • :构成程序的主体
  • 名称空间:以树形结构组织类(和其他类型),例如Button类和Path类

初识类和名称空间

  • Console App
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

// 名称空间HelloWorld
namespace HelloWorld
{
    // 类Program
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            Console.ReadKey();
        }
    }
}
  • using 名称空间:
// 名称空间HelloWorld
namespace HelloWorld
{
    // 类Program
    class Program
    {
        static void Main(string[] args)
        {
            System.Console.WriteLine("Hello, World");
        }
    }
}
using System
// 名称空间HelloWorld
namespace HelloWorld
{
    // 类Program
    class Program
    {
        static void Main(string[] args)
        {
            WriteLine("Hello, World");
        }
    }
}
  • 查询类所在的名称空间的方法
    • 查询Help View
    • 智能提示(Ctrl+.)
      29

创建一个WPF->Complict

  • 不要全部引用所有名称空间,会导致冲突
  • 当名称空间类的冲突时,需要全名引用
    System.Windows.Shapes.Path
    System.IO.Path

类库的引用

  • 类和名称空间的位置:放在类库中
  • 类库的引用是使用名称空间的物理基础
    • 不同技术类型的项目会默认引用不同的类库

WPF:Sample

  • 查看类库的引用
    30
    31
    不同的项目模板就是引用了不同的类库

DLL引用即黑盒引用

  • 创建DLL类库时,要配置对应的文档
  • 自建DLL的引用
    • 黑盒引用无法修改错误
    • 依赖关系:A引用了B,当B发生问题时,A也会有问题,尽量减弱依赖关系
      32
  • 内建DLL的引用
    33
using System;
using System.Windows.Forms;

namespace DLLHelloWorldConsole
{
    class Program
    {
        static void Main(string[] args)
        {
            Form form = new Form();
            form.ShowDialog();
        }
    }
}
NuGet
  • 用来解决复杂的依赖关系,需要使用一个类库,还需要引用更底层的类库 ,而且因为你引用的是DLL没有源代码,可能会导致更严重的错误
  • 以类似于包的形式,将所需要的类库都引用进来
    34

项目引用即白盒引用

  • 有源代码
    • 一个项目可以被多了Solution包含
      35
    • 找错误,要找到Root Cause!
创建自己的类库
  • 不能使用.NET Standard构建应用程序,而只能用来构建类库
    36

依赖关系

  • 类(或对象)之间的耦合关系
  • 优秀的程序追求”高内聚,低耦合”
    • 高内聚:一些数据,功能明确归属于该类
    • 低耦合:尽可能减少依赖关系
    • 教学程序往往会违反这个原则
  • UML(通用建模语言)
    • 类图:例如Hello World类调用了Console类这就是耦合关系
    • 流程图

排除错误

  • 仔细阅读编译器的报错
  • MSDN文档与搜索引擎结合
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值