C#(18)抽象类 静态类 单例

8yue29

base. 调用当前基类方法

当你需要在基类基础方法上,再添加一些东西,那么可以在子类方法中用base.调用基类方法

:base 在构造方法中 调用当前基类方法构造方法中的参数


抽象类(类的多态)

一、抽象方法

作用:抽象方法可以保证子类必须做的事,因为普通类继承抽象类,必须写重写方法。


说明

1、抽象类独立于抽象方法,也就是说没有抽象方法,类也可以声明为抽象类,

2、抽象类不能被直接实例化,其他跟普通类没有区别

3、抽象方法和虚方法都不能修饰字段


总结:(实现指的就是{ };抽象方法没有{ })

1.抽象方法只作声明,而不包含实现,抽象方法旨在继承后实现,所以不能用private修饰

2.抽象类不能被直接实例化。

3. 抽象类可以没有抽象属性和抽象方法 

    抽象类中有抽象方法被继承的具体类一定要实现抽象类中的所有抽象方法。

    并且一定要把这个类声明为抽象类。

4.如果抽象类的派生类是普通类,那么必须重写抽象类的所有抽象方法。

   如果是抽象类B继承抽象类A,那么抽象类B可以实现基类A中的抽象方法,可以不实现A中得抽象方法。


抽象方法和虚方法的区别


8yue30


静态类静态方法


静态方法

static 修饰的成员(变量)称为静态成员

对象方法,都需要对象来调用

静态成员只能由类来调用,与对象无关;静态变量可以选择初始化。


静态类

static修饰的类称为静态类

静态类里面不能有普通成员,静态成员可以在任何地方调用,值都是同一个

静态类不能实例化,不能继承,所以内部只允许有静态成员或const 修饰的常量


静态类特点:

1、是密封的(默认是sealed,不能再用sealed修饰)

2、有静态构造方法(函数),但静态构造方法必须是无参数的

公用的变量或者方法都可以放在静态类里。

可以把静态类看作一个工具类,任何地方只要需要都可以调用该类里面的成员,以提高开发效率。


静态构造方法

1、静态构造方法用于初始化任何静态数据,或用于执行仅需执行一次的特定操作

2、在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数。

2、它用来记录一些全局的数据、静态方法只能调用静态字段或者成员

不能重载,只会走一次(当第一次使用静态类成员)

在静态类里要直接调用方法必须是静态方法。


单例

(单例的类本身是一个普通类)

保证了类对象的唯一性,只初始化一次

单例模式是资源管理的必备模式,保证一个类只有一个实例并且这个实例易于被访问。


通常一个值会在类与类之间相互传值使用, 那么当一个唯一的值不能在类与类之间传值时,

使用单例会使这个唯一的值能够在类中通用。

(通常每个类之间联系不是非常紧密,要有一个通用的值,我们使用单例就会特别方便)


实现步骤

1、内部(private)创建一个私有(static)的静态实例(通常命名为instance)

2、私有化构造方法 

(注:静态构造不能有修饰符)

3、写出静态实例的静态属性,并初始化


掌握单例设计模式思想和实现

抽象类和抽象方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,034评论 18 399
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 7,618评论 0 11
  • 抽象类 用abstract修饰的方法,称为抽象方法。 public abstract void Practice(...
    TALY阅读 4,775评论 0 0
  • 单例模式(SingletonPattern)一般被认为是最简单、最易理解的设计模式,也因为它的简洁易懂,是项目中最...
    成热了阅读 9,870评论 4 34
  • 这地方人迹罕至,再往前走,就是深渊,就是一望无际的大海,就是咆哮的风浪,就是一块石头坠入得无声无息的悬崖。偶尔会有...
    新文字练习生阅读 3,382评论 2 9

友情链接更多精彩内容