C#学习笔记5

1、修饰符的介绍

①new:仅允许在嵌套类中声明时使用,表明类中隐藏了由基类中继承而来的、与基类中同名的成员

②public:不限制对该类的访问

③protected:只能从其所在类和所在类的子类(派生类)进行访问

④internal:只有其所在类才能访问

⑤private:只有.NET中的应用程序或库才能访问

⑥abstract:抽象类,不允许建立类的实例

⑥sealed:密封类,不允许被继承


2、属性和字段

①字段和属性都可以输入,通常把信息存储在字段和属性中

②但属性和字段是不同的,属性不能直接访问数据,字段可以直接访问数据

③字段可以有静态的,但属性必须实例

private int x=0; //  字段,一般建议字段全部设为private
 
public int X      //属性
{
   get{return x;}
   set{x=value;}
}

3、C#只支持单继承,不支持多重继承,即在C#中一次只允许继承一个类,不能同时继承多个类


4、多态可以使子类(派生类)的实例可以直接赋予基类的变量(无需强制类型转换),然后直接就可以通过这个变量调用子类(派生类)的方法。C#中,类的多态性是通过在子类(派生类)中重载基类的虚方法或函数成员来实现的

class Program
    {
        

         static void Main(string[] args)
        {
            MyClass2 myclass2 = new MyClass2();
             //使用子类MyClass2的对象实例化基类MyClass1的对象
            MyClass1 myclass1 = (MyClass1)myclass2;
            myclass1.X = 3;
            myclass1.Y = 5;
            Console.WriteLine(myclass2.Add());      //调用子类中的方法
            Console.WriteLine(myclass1.Add());     //调用子类中的方法

            
        }
       
    }
    class MyClass1
    {
        private int x = 0;
        private int y = 0;
        public int X
        {
            get { return x; }
            set { x = value; }

        }
        public int Y
        {
            get { return y; }
            set { y = value; }
        }
        public virtual int Add()             //虚方法
        {
            return X + Y;
        }
    }
    class MyClass2 : MyClass1               //继承类MyClass1
    {
        public override int Add()           //重写基类中的虚方法
        {
            int x = 5;
            int y = 7;
            return x + y;
        }
    }

5、一些注意事项

①virtual 修饰符不能与private、static、abstract或者override修饰符同时使用

②override修饰符不能与new、static或者virtual修饰符同时使用,并且重写方法只能用于重写基类中的虚方法

③C#中,继承、虚方法和重写方法组合在一起才能实现多态性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值