美文网首页
抽象类、静态类、单例

抽象类、静态类、单例

作者: TALY | 来源:发表于2017-12-13 14:58 被阅读0次

抽象类

用abstract修饰的方法,称为抽象方法。

public abstract void  Practice();

抽象方法是一种特殊的虚方法,它只起声明作用,所以只加一个“;”号,一定不能带实现部分。

含有抽象方法的类也必须用abstract修饰,我们称之为抽象类。

抽象类 没有 抽象方法也可以成为抽象方法;

但是 抽象方法一定要在抽象类里面。

抽象类独立于抽象方法,也就是说没有抽象方法,类也可以声明为抽象类,抽象类不能被直接实例化,其他跟普通类没有区别。

1.抽象类中如果有抽象方法,那么被继承的具体类一定要实现抽象类中得所有抽象方法。

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

作用

抽象类用途:提供一个可供多个派生类共享的通用基类的定义。

其实,这就是类(抽象类)的多态。

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

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

3. 抽象类可以没有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类。

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

1.抽象方法一定不能有实现,虚方法一定要有实现;

2.抽象方法被具体类继承后,一定要被重写,虚方法可以不重写

3.抽象方法一种特殊的虚方法,一旦类中有抽象方法,则类必须声明为抽象类,抽象类中可以有虚方法。

静态

最能代表的就是Math方法

用static修饰的成员 称为静态成员

静态成员只能由类来调用(点语法调出)

使用static修饰的类 为 静态类

静态类不许实例化(也就是不能再main函数里面声明new对象),只允许存在静态成员(包括字段,方法,属性)和const修饰的常量(赋值的情况)

静态类特点:

1.仅包含静态成员和const修饰的常量。

2.不能被实例化。

3.是密封的。(默认已经是sealed,不能再用sealed修饰)

4.有静态构造方法(函数),但静态构造方法必须是无参数的。

静态构造方法用于初始化任何静态数据,或用于执行仅需执行一次的特定操作。在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数。

public sealed class  Time

{    public static float   dealTime;

        staticTime()//不能带访问修饰符,不能带参数,不能重载

{

dealTime =0.04f;//如果不写这句话,系统会为静态变量赋一个默认值

Console.WriteLine ("static Time().");    

        }

}

classMainClass

{    public static voidMain (string[] args)

{    Console.WriteLine (Time.dealTime);

        }

   }

}

静态类用法

一些公用的变量或者方法可以放在静态类里面,以供其它类使用,例如一些排序算法等,可以把静态类看作一个工具类,任何地方只要需要都可以调用该类里面的成员,以提高开发效率。

static class Tags{

//静态方法;静态属性、字段

}

单例

简单来说单例设计模式就是确保一个类就仅有一个实例。

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

实现方法:

1.构造方法设为private。  2.内部建立静态实例。  3.静态构造方法给实例做初始化。

静态类是一种工具类,不能实例化,不能继承

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

抽象类和抽象方法

相关文章

  • 抽象类、静态类、单例

    抽象类 用abstract修饰的方法,称为抽象方法。 public abstract void Practice(...

  • 静态方法、单例模式区别

    观点一:(单例) 单例模式比静态方法有很多优势:首先,单例可以继承类,实现接口,而静态类不能(可以集成类,但不能集...

  • 单例模式

    单例类有一个静态单例类指针,在静态方法中new该指针实例化是懒汉,在单例类外部::初始化该指针是饿汉。 保证一个类...

  • 技术文章收集

    单例模式Java 类加载静态类加载时机

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

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

  • Java基础(3)——抽象类和单例设计模式

    本节内容1.单例设计模式2.抽象类实现模板设计模式3.抽象类实现造房子 一、单例设计模式1.设计模式:对经常出现的...

  • 单例

    使用单例设计模式的类只有一个对象实例,基于此核心来编写代码。 懒汉式 饿汉式 内部静态类实现单例 枚举单例 上述单...

  • Java 单例模式

    什么是单例模式? 单例模式即一个类在程序中永远只有一个实例。 单例的写法。 饿汉式(静态常量) 饿汉式(静态代码块...

  • Scala 单例对象与伴生对象

    单例对象 Scala单例对象是十分重要的,因为没有像在Java一样,有静态类、静态成员、静态方法,但是Scala提...

  • C++ 单例模式

    本文介绍C++单例模式的集中实现方式,以及利弊 局部静态变量方式 上述代码通过局部静态成员single实现单例类,...

网友评论

      本文标题:抽象类、静态类、单例

      本文链接:https://www.haomeiwen.com/subject/ctkaixtx.html