zoukankan      html  css  js  c++  java
  • c#面向对象基础3

    静态与非静态的区别

    (1)在非静态类中既可以有实例成员,也可以有静态成员(static修饰)。

    (2)在调用静态成员的时候要使用:对象名.实例成员。

    (3)在调用静态成员的时候要使用:类名.静态成员。

    总结:静态成员使用类名去调用,非静态成员使用对象名去调用。静态函数中只能访问静态成员,不允许访问实例成员   (静静),实例函数中既可以使用静态成员,也可以是实例成员。

    静态类中只允许有静态成员,不允许出现实例成员。

    使用:什么时候使用静态,什么时候使用非静态

        (1)把类当成“工具类”去使用,考虑写成静态类  例如:console类

         (2)静态类在整个项目中资源共享---------占内存,,,,只有程序全部结束后,静态类才会释放资源。

    非静态创建对象并赋值(逐一赋值)会造成代码冗余,所以产生构造函数来赋值

     构造函数:

    作用:初始化对象(给对象的每个属性依次赋值),构造函数是一个特殊的方法。

         (1)构造函数没有返回值,没有Void

          (2)构造函数名称必须和类名一样。

    语法:

    public 类名(参数)

    {

    属性赋值;

    }

             创建对象时调用构造函数 关键字new

    new关键字做了三件事:

    (1)在内存中开辟了一块空间。

    (2)在开辟的空间创建对象。

    (3)调用对象的构造函数进行初始化对象。

    类当中默认有一个无参的构造函数   ,默认的构造函数会被我们新建的构造方法覆盖

    无参的构造函数:public 类名()

    {

    }

    有参的构造函数:public 类名(参数)

    {

    赋值;

    }

    在创建对象时(new)传参  n=new 类名(实参)

    当类中已有重载的构造函数时,需要无参的构造函数需重新写无参构造函数。

    this关键字:

    作用:(1)表示当前类的对象

             (2)调用本类当中的构造函数(重载中不全参数的构造函数去调用全参的构造函数)

                   语法::this()

      例如:public Student(部分参数):this(全部参数值)

      析构函数:~类名(){}

     作用:当程序结束的时候,析构函数才执行     -----------》释放资源

    As you wish.
  • 相关阅读:
    BZOJ 1070 修车
    BZOJ 1927 SDOI2010 星际竞速 最小费用最大流
    LOJ 2321 清华集训2017 无限之环 拆点+最小费用最大流
    EZOJ 宝石迷阵 建图+网络流匹配
    BZOJ 1711 吃饭dining/Luogu P1402 酒店之王 拆点+最大流流匹配
    POJ 1637 Sightseeing tour 建图+网络流
    POJ 1149 PIGS 建图,最大流
    【2018 1月集训 Day1】二分的代价
    【2019 1月集训 Day1】回文的后缀
    20181228 模拟赛 T3 字符串游戏 strGame 博弈论 字符串
  • 原文地址:https://www.cnblogs.com/wfaceboss/p/5867021.html
Copyright © 2011-2022 走看看