.Net知识点(基础加强)

一、关键字作用

this:

      1)当前类的对象 2)调用自己的构造函数

new:

       1)创建对象时  2)隐藏父类的成员


二、访问修饰符(能够修饰类的访问修饰符只有俩个internal和public)

   public:公开的,公共的

   private: 私有的,只有能在当前类的内部访问,类中的成员们,如果不加访问修饰符,默认就是private

   protected: 受保护的,可以在当前类的内部访问,也可以在该类的子类中访问

   internal:当前项目中都可以访问。

三、常用关键字

this

base:调用父类的构造函数(成员)

new

virtual :标记一个方法是虚方法

abstract:抽象的

override:重写

interface:接口

partial:部分类

sealed:密封类:不允许被继承(但是别人可以继承它)

return:1》在方法中返回返回的值,2》立即结束本次方法

break :跳出当前循环

continue:结束本次循环,回到循环条件进行判断

static:静态的

struct:结构

enum:枚举

const:常量


abstract方法使用及实例

1、练习题     外部设备(抽象方法)

    1)分析

 

   2)创建一个控制台应用程序

         先写父类,再写三个子类,最后写电脑

 1\

   /// <summary>
    /// 移动存储设备(父类)
    /// 俩个抽象函数(一个读,一个写)
    /// </summary>
    public abstract class MobileStorage 
    {
        public abstract void Read();
        public abstract void Write();


    }

2\
    /// <summary>
    /// 子类MobileDisk继承MobileStorage
    /// 继承抽象类后,必须重写抽象类中所用的抽象类成员
    /// </summary>
    public class MobileDisk:MobileStorage
    {
        public override void Read()
        {
            Console.WriteLine("移动硬盘在读取数据");
        }
        public override void Write()
        {
            Console.WriteLine("移动硬盘在写入数据");
        }
    }
    /// <summary>
    /// 子类UDisk继承MobileStorage
    /// </summary>
    public class UDisk : MobileStorage 
    {
        public override void Read()
        {
            Console.WriteLine("U盘在读取数据");
        }
        public override void Write()
        {
            Console.WriteLine("U盘在写入数据");
        }
    }
    /// <summary>
    /// 子类MP3继承MobileStorage
    /// </summary>
    public class MP3 : MobileStorage 
    {
        public override void Read()
        {
            Console.WriteLine("Mp3读取数据");
        }
        public override void Write()
        {
            Console.WriteLine("Mp3写入数据");
        }
        public void PlayMusic() 
        {
            Console.WriteLine("Mp3播放音乐");
        }
    }

3\

 /// <summary>
    /// 电脑类
    /// 按父类处理,父类屏蔽各个子类中的差异
    /// </summary>
    public class Computer 
    {
        //拿父类俩种方式(1)传值(2)声明一个MobileStorage,存储父类
        //1)一种方式:从电脑父类中传入值
        //public void CPURead(MobileStorage ms)
        //{
        //    ms.Read();
        //}


        //2)第二种方式,声明一个类
        public MobileStorage MS
        {
            get;
            set;
        }
        public void CPURead()
        {
            this.MS.Read();
        }
        public void CPUWrite() 
        {
            this.MS.Write();
        }
    }

4\

    class Program
    {
        static void Main(string[] args)
        {
            //实例化对象
            MobileDisk md = new MobileDisk();
            MP3 mp3 = new MP3();
            UDisk u = new UDisk();


            Computer cpu = new Computer();
            //子类可以赋值给父类
            cpu.MS = md;
            cpu.CPURead();
            cpu.CPUWrite();
            Console.ReadKey();
        }
    }

      2、 虚方法,抽象方法总结

     虚方法需注意:

   1)父类中如果有方法需要子类重写,则可以将该方法标记为virtual

  2)虚方法在父类中必须有实现,哪怕是空实现

 3)虚方法子类可以重写(override),也可以不重写

   抽象方法注意:

  1)需要abstract关键字标记

 2)抽象方法不能有任何方法实现

3)抽象成员必须包含在抽象类中

4)由于抽象成员没有任何实现,所以子类必须由抽象成员重写

5)抽象类不能实例化,抽象类的作用是为了让子类继承

6)抽象类中不能包括抽象成员,可以包括有具体代码的成员

7)抽象方法不能有static修饰


四、接口

 一、接口注意:

 1)接口中只能包含方法(属性、事件、索引器也都是方法)

2)接口中成员都不能有任何实现

3)接口中不能被实例化

4)接口中成员不能有任何访问修饰符(默认public)

5)实现接口的子类必须将接口中的所有成员全都实现

6)子类实现接口的方法时,不需要任何关键字,直接实现即可

7)接口存在的意义就是为了多态

二、接口是什么?什么时候使用接口?使用接口的目的是什么?

  接口是为了规范一个能力,表示一个能力

 目的实现多态



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值