zoukankan      html  css  js  c++  java
  • struct和class异同

    struct 和 class的异同

     

    一图理解struct和class的异同

    1 相同点

    A struct和class是同一等级的,属于命名空间下

    B 可以定义字段、属性、方法、构造器等

    C 有默认的无参构造方法

     

    2 不同点

    A 定义语法关键字不同(struct class)

    B struct是值类型,class是引用类型,struct存储在栈中,但其中定义的引用类型是存储在堆中的

    C struct中字段不能赋初始值,class中字段没有影响

    D struct不能定义无参数的构造方法,且在有参构造函数中必须为所有字段和属性赋值

    E struct中有参构造方法不会覆盖默认的无参构造方法,即可以new无参的结构,class中有参构造方法会覆盖默认的无参构造方法,

    即无法调用默认无参构造方法,因此在class中最好定义一个无参构造方法,防止new创建对象失败。

    F 结构不能定义析构方法,class可以

    G struct可以继承接口不可以继承class,class既可以继承接口,又可以继承class

    3 适用情况

    struct是一种特殊的值类型,栈的空间小,访问速度快,struct适用于字段、属性较少,

    作为一种组合类型使用,class作为一种面向对象拓展的类型使用。

  • 相关阅读:
    堆排序
    伽马分布
    隔壁-贪心
    对刚—约瑟夫环
    站军姿-两圆并集
    单纯的线性筛素数
    3兔子
    2.圆桌游戏
    1.花
    历史
  • 原文地址:https://www.cnblogs.com/arvinzd/p/14157991.html
Copyright © 2011-2022 走看看