C# 封装
封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。
抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象。
C# 封装根据具体的需要,设置使用者的访问权限,并通过 访问修饰符 来实现。
一个 访问修饰符 定义了一个类成员的范围和可见性。C# 支持的访问修饰符如下所示:
- public:所有对象都可以访问;
- private:对象本身在对象内部可以访问;
- protected:只有该类对象及其子类对象可以访问
- internal:同一个程序集的对象可以访问;
- protected internal:访问限于当前程序集或派生自包含类的类型。
以下内容为不懂得疑问点备注
Write()和WriteLine()都是System.Console提供的方法,两着主要用来将输出流由指定的输出装置(默认为屏幕)显示出来.
两着间的差异在
Console.WriteLine()方法是将要输出的字符串与换行控制字符一起输出,当次语句执行完毕时,光标会移到目前输出字符串的下一行.
至于Console.Write()方法,光标会停在输出字符串的最后一个字符后,不会移动到下一行。
C# 的封装和 public、private
Public 访问修饰符
Public 访问修饰符允许一个类将其成员变量和成员函数暴露给其他的函数和对象。任何公有成员可以被外部的类访问。
1.在创建class的时候,默认的访问控制符为private
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AccessModifiers
{
class Program
{
class Modifiers
{
/// <summary>
/// 默认private
/// </summary>
static void AAA()
{
Console.WriteLine("Modifiers AAA");
}
public static void BBB()
{
Console.WriteLine("Modifiers BBB");
AAA();
CCC();
}
/// <summary>
/// 如果没有添加static关键字,不能被任何
/// </summary>
protected static void CCC()
{
Console.WriteLine("Modifiers CCC");
}
}
static void Main(string[] args)
{
//测试public和private的访问控制符控制范围
Modifiers.BBB();
//AAA不可访问,因为有一定的访问权限
//Modifiers.AAA();
//CCC不可访问,因为有一定的访问权限
//Modifiers.CCC();
Console.ReadKey();
}
}
}
1. class没有写明修饰符,默认是private
2.Main函数必须是static,原因如下:
C# 的封装和 internal、protected