欢迎光临散文网 会员登陆 & 注册

.NET基础第十三天

2023-07-16 10:38 作者:香草味的lollipop  | 我要投稿


一、C#中的访问修饰符(5个,默认是internal)

        public: 公开的,公共的,所有对象都可以访问

        private: 私有的,只能在当前类(对象)的内部访问

        protected: 受保护的,子类也可以访问,只能在当前类的内部以及该类的子类中访问(多用于继承)

        internal: 只能在当前程序集中访问,在同一个项目中internal和public的权限是一样的

        protected internal: protected+internal 访问限于当前程序集或派生自包含类的类型。

        1) 能够修饰类的访问修饰符只有两个:public 和 internal , 类前不写默认就是internal

        2) 可访问性不一致: 子类的访问权限不能高于父类的访问权限,会暴露父类的成员


二、设计模式: 设计这个项目的一种方式

            简单工厂设计模式

            ***香草的补充:简单工厂设计模式,是工厂设计模式的简化版,如果子类很多,会出现子类数量爆炸的问题,实际上还有工厂设计模式和抽象工厂设计模式    


三、值传递和引用传递

值类型和引用类型
  • 值类型:int double char decimal bool enum  struct

  • 引用类型:string  数组   自定义类   集合  object  接口

  • 值类型在复制的时候,传递的是这个值的本身(拷贝值);引用类型在传递的时候,传递的是对这个对象的引用(类似于C中的指针),实际上共用一块内存空间

  • ref的作用 相当于传递实参的地址给了形参 此时形参和实参共用一块内存 

四、序列化与反序列化(BinaryFormatter类)

        1. 序列化:将对象转换为二进制

        2. 反序列化:将二进制转换为对象

        3. 作用:传输数据。

五、部分类和密封类

  • partial部分类:允许一个类出现多个不同的部分,共同构成一个类,可以共享成员

  • sealed密封类(类似于Java中的final关键字):不能够被其他类继承,但是可以继承于其他类

六、接口(重点)※

语法:

        ○ 接口是一种规范。

        ○ 只要一个类继承了一个接口,则这个类就必须实现这个接口中所有的成员

        ○ 为了多态,接口不能被实例化,也就是说,接口不能new(不能创建对象)

        ○ 接口中的成员不能加“访问修饰符”,接口中的成员访问修饰符为public,不能修改(默认为public)

        ○ 接口中的成员不能有任何实现(“光说不做”,只是定义了一组未实现的成员)

        ○ 接口中能有方法、属性、索引器、事件,自动属性(在接口中实际上是没有方法体的get和set方法),不能有字段和构造函数

        ○ 接口之间可以继承,并且可以多继承

        ○ 接口并不能去实现一个类,而类可以实现接口(接口只能继承于接口,而类既可以继承接口,也可以继承类)

        ○ 实现接口的子类必须实现该接口的全部成员

        ○ 一个类可以同时继承一个类并实现多个接口,如果一个子类同时继承了父类A,并实现了接口IA,那么语法上写子类继承时,A必须写在IA的前面 即 class MyClass : A , IA {}    因为类是单继承的

        ○ 实现接口的目的,就是解决方法中的重名问题

        ○ 什么时候显式的去实现接口:当继承的接口中的方法和参数一模一样的时候,需要显式的去实现接口

        ○ 当一个抽象类实现接口的时候,需要子类去实现接口


.NET基础第十三天的评论 (共 条)

分享到微博请遵守国家法律