zoukankan      html  css  js  c++  java
  • C#总复习

    1.new关键字

    Person zsPerson=new Person();

    A、new帮助我们做了3件事儿:

    1)、在内存中开辟一块空间。2)、在开辟的空间中创建对象。3)、调用对象的构造函数进行初始化对象

    B、隐藏从父类那里继承过来的成员

    2.访问修饰符

    public:公开的公共的,在哪都能访问。

    private:私有的,只能在当前类的内部进行访问,出了这个类就访问不到了。

    protected:可以在当前类的内部以及该类的子类中访问。

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

    protected internal:

    能够修饰类的访问修饰符只有两个:public和internal

    子类的访问权限不能高于父类

    3.常用的关键字

    this:a.当前类的对象,b.调用自己的构造函数

    base:调用父类的成员

    new:a.创建对象,b.隐藏父类的成员

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

    abstract:抽象,抽象成员必须包含在抽象类中,但是抽象类中并不一定都是抽象成员。

    static:静态,静态类中一定都是静态成员,而静态成员并不一定都要在静态类中

    override:重写

    interface:接口

    partial:部分类

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

    return:a.在方法中返回值,b.立即结束本次方法

    break:跳出当前循环

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

    struct:结构

    enum:枚举

    const:常量

    3、关于虚方法需要注意的几点:

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

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

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

    4、关于抽象方法注意的几点:

    1).需要用abstract关键字标记

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

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

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

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

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

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

     5、接口

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

    2).接口中的成员都不能有任何实现。光说不做

    3).接口不能被实例化。

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

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

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

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

    6、静态与非静态的区别(static)

    a.静态类里面必须是静态方法,静态方法里面必须是静态成员。非静态类里面可以有实例方法,非静态方法里面可以有实例成员。

    b.静态方法需要用类名调用,非静态方法需要用对象调用。

    7、结构和类的区别:

    a.从类型上看:结构---值类型(栈)      类---引用类型(堆)

    b.从声明的语法上看:结构---struct      类---class

    c.在类中,构造函数里,既可以给字段赋值,也可以给属性赋值,构造函数是可以重载的。

    但是,在结构的构造函数当中,必须只能给字段赋值,而且需要给全部的字段赋值,而不能选择性的给字段赋值。

    结构和类的构造函数:

    相同点:本身都会有一个默认的无参数的构造函数

    不同点:当你在类中写了一个新的构造函数之后,那个默认无参数的构造函数就没有了。

    但是,在结构中写了一个新的构造函数之后,那个默认无参数的构造函数依然在

    如果我们只是单纯的存储数据的话,我们推荐使用结构,结构并不具备面向对象的特征(封装,继承,多态)

  • 相关阅读:
    KMP算法(字符串匹配)
    C 语言结构体之点运算符( . )和箭头运算符( -> )的区别
    归并排序(分治法)
    插入排序(挖坑)
    快速排序(挖坑+分治法)
    C++--------------------------------指针和数组替换使用原因
    广度优先搜索(BFS)----------------(TjuOj1140_Dungeon Master)
    图的最短路径-----------SPFA算法详解(TjuOj2831_Wormholes)
    最小生成树问题------------Prim算法(TjuOj_1924_Jungle Roads)
    图的最短路径-----------Dijkstra算法详解(TjuOj2870_The Kth City)
  • 原文地址:https://www.cnblogs.com/ggsdduzbl/p/4962686.html
Copyright © 2011-2022 走看看