C#源代码—演示抽象类与抽象属性的使用,命名空间的使用

【实例4-3】演示抽象类与抽象属性的使用
using System;
public abstract class Shape      //表示“形状”的抽象类型
{
    private string m_id;         //定义形状的ID,一个私有字段
    //声明构造函数,用来设置属性Id
    public Shape(string s) 
    {
        Id = s;
    }
    public string Id             //定义属性,用来操作私有字段id
    {
        get
        {
            return m_id;
        }
        set
        {
            m_id = value;
        }
    }
// 定义一个只读的抽象属性 - 表示形状的面积
    public abstract double Area
    {
        get;
    }
    //重载从Ojbect类继承来的方法
    public override string ToString()
    {
        return Id + " 面积 = " + string.Format("{0:F2}", Area);
    }
}
public class Square : Shape           //正方形,从抽象类Shape派生
{
    private int m_side;               //正方形的边长
    //声明构造函数,联合基类的构造函数对字段成员进行初始化
    public Square(int side, string id)
        : base(id)
    {
        m_side = side;
    }
 //重载继承来的抽象属性,得正方形的面积
    public override double Area
    {
        get
        {
            return m_side * m_side;
        }
    }
}
class TestClass
{
    static void Main()
    {
        //创建一个边长为5的正方形对象
        Square s = new Square(5, "正方形");
        string result = s.ToString();
        Console.WriteLine(result);
    }
}


【实例4-5】演示命名空间的使用
//files.cs
using System;              //引用.Net Framework类库
namespace Lfq.Sales        //声明自定义的命名空间
{
	public class Customer   //声明顾客类
	{
		public void Answer()
		{
			Console.WriteLine("我是一个顾客!");
		}
	}
}
//file2.cs
using Lfq.Sales;          //引用已定义的命名空间
namespace Lfq. Designs   //声明自定义的命名空间
{
	public class Designer  //声明设计师类
	{
   		 static void Main()
		{   //创建对象,调用其方法成员
			Customer c = new Customer();
			c.Answer();
		}
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C# 中,抽象类是一种不能被实例化的,通常用于作为其他的基抽象类可以包含抽象方法、虚方法、静态方法、字段、属性、构造函数等成员。 以下是如何使用抽象类的示例步骤: 1. 定义抽象类 首先,您需要定义一个抽象类抽象类使用 `abstract` 关键字进行定义。例如: ```csharp public abstract class MyAbstractClass { public abstract void MyAbstractMethod(); public virtual void MyVirtualMethod() { Console.WriteLine("MyVirtualMethod called."); } } ``` 在这个例子中,`MyAbstractClass` 是一个抽象类,并且包含一个抽象方法 `MyAbstractMethod()` 和一个虚方法 `MyVirtualMethod()`。 2. 继承抽象类 接下来,您需要创建一个,该抽象类继承。这意味着该需要提供抽象类中定义的所有抽象方法的实现。例如: ```csharp public class MyClass : MyAbstractClass { public override void MyAbstractMethod() { Console.WriteLine("MyAbstractMethod called."); } public override void MyVirtualMethod() { Console.WriteLine("MyVirtualMethod overridden."); } } ``` 在这个例子中,`MyClass` 从 `MyAbstractClass` 抽象类继承,并且提供了 `MyAbstractMethod()` 和 `MyVirtualMethod()` 方法的实现。 3. 创建对象 接下来,您需要创建一个的对象,该抽象类继承。例如: ```csharp MyClass myObj = new MyClass(); ``` 4. 调用方法 最后,您可以使用对象调用 `MyAbstractMethod()` 和 `MyVirtualMethod()` 方法。例如: ```csharp myObj.MyAbstractMethod(); myObj.MyVirtualMethod(); ``` 这将调用 `MyClass` 中实现的 `MyAbstractMethod()` 和 `MyVirtualMethod()` 方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值