用c# 结合案例设计程序,实现参数传递控制及成员访问控制 要求:完成CellPhone类的定义;添加类的成员;完成类的实例化及构造函数的使用;创建静态方法和非静态方法,并在测试类中完成调用。
时间: 2024-10-16 17:15:20 浏览: 30
Visual C#类的定义及实现方法实例解析
在 C# 中,你可以通过封装、继承、多态和访问修饰符来实现参数传递控制和成员访问控制。这里是一个简单的例子,我们将创建一个名为 `CellPhone` 的类,并演示如何进行控制:
首先,我们定义 `CellPhone` 类,其中包含私有属性用于存储手机数据,以及公有和受保护的成员方法:
```csharp
public class CellPhone
{
// 私有字段,用于存储电话号码和品牌
private string phoneNumber;
private string brand;
// 构造函数,用于初始化对象
public CellPhone(string phoneNumber, string brand)
{
this.phoneNumber = phoneNumber;
this.brand = brand;
}
// 公有属性,提供读取功能,但不允许直接修改
public string PhoneNumber { get => phoneNumber; }
public string Brand { get => brand; }
// 受保护的方法,允许在同一类内部和派生类中访问
protected void Unlock()
{
Console.WriteLine($"Unlocking phone with brand: {brand}");
}
// 静态方法,不需要实例化就可以调用,如查询操作
public static void CheckBatteryLevel(string model)
{
Console.WriteLine($"Checking battery level for {model}...");
}
}
// 测试类
class Program
{
static void Main(string[] args)
{
// 实例化 CellPhone 类并设置参数
var myPhone = new CellPhone("1234567890", "Samsung");
// 访问公有属性
Console.WriteLine($"My phone number is: {myPhone.PhoneNumber}");
Console.WriteLine($"My phone brand is: {myPhone.Brand}");
// 调用受保护方法(需要访问权限)
myPhone.Unlock();
// 调用静态方法
CellPhone.CheckBatteryLevel("Galaxy S22");
// 这里尝试修改私有属性会抛出异常,因为它们是私有的
// myPhone.phoneNumber = "Modified"; // AccessViolationException
}
}
```
在这个例子中,`phoneNumber` 和 `brand` 是私有的,所以外部无法直接修改,体现了参数传递的控制。`Unlock` 方法是受保护的,只有 `CellPhone` 类及其派生类可以访问,体现了成员访问控制。
阅读全文