Files
2025-09-15 17:07:41 +08:00

99 lines
2.4 KiB
C#

namespace Lesson21_面向对象相关_命名空间
{
using Lesson21_面向对象相关_命名空间.MyGame.UI;
using MyGame;//引用命名空间
using MyGame2;
#region 知识点一 命名空间基本概念
//概念
//命名空间是用来组织和重用代码的
//作用
//就像是一个工具包,类就像是其中的工具,都是声明在命名空间中的
#endregion
#region 知识点二 命名空间的使用
//基本语法
//namespace 命名空间
//{
// 类
//}
namespace MyGame
{
class GameObject
{
}
}
namespace MyGame
{
class Player : GameObject//同一命名空间中可以直接使用
{
}
}
#endregion
#region 知识点四 不同命名空间中允许有同名类
//eg:
namespace MyGame2
{
class GameObject
{
}
}
//如果不同命名空间有同名类且都被使用
//只能通过 指明出处 来使用
#endregion
#region 知识点五 命名空间可以包裹命名空间
namespace MyGame
{
namespace UI
{
class Image
{
}
}
namespace Game
{
class Player : GameObject
{
}
}
}
#endregion
#region 知识点六 关于修饰类的访问修饰符
//public — 命名空间中的类 默认为 public
//internal — 只能在该程序集中使用
//abstract — 抽象类
//sealed — 密封类
//partial — 分部类
#endregion
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
#region 知识点三 不同命名空间中相互使用 需要引用命名空间或指明出处
//目前在 Lesson21_面向对象相关_命名空间 这个命名空间中
//如果要使用 MyGame 命名空间中的类
//需要引用命名空间(在最顶上和using system;一起)
//GameObject g = new GameObject();
//或者指明出处
//命名空间.类名
MyGame.GameObject g2 = new MyGame.GameObject();
MyGame2.GameObject g3 = new MyGame2.GameObject();
MyGame.UI.Image img = new MyGame.UI.Image();
Image img0 = new Image();//因为引用了 MyGame.UI 命名空间
#endregion
}
}
}