zoukankan      html  css  js  c++  java
  • c#面向对象基础技能——学习笔记(三)基于OOP思想研究对象的【方法】

    实例方法:(解决问题的步骤)完成某功能的各种语句的组合

      编写方法要考虑的内容:

        1、通过项目需求,确定各方法的任务、功能;

        2、方法的可访问性(默认是private);(字段private 属性internal 方法private)

        3、调用后的返回值结果;

        4、起名——动名词结合;

        5、确定调用方法的条件(参数:不要多于三个,行数:不要多于40行,可以把大的方法分成多个小方法)。

    静态字段:

      为了定义能由多个实例共享的数据,需要使用static关键字。

      静态字段不从属实例,而是从属类。因此,从类外部访问静态字段是要使用类名。

    静态方法:

      用static修饰;

      项目启动就生成,直到项目关闭,不受垃圾回收机制管制;

      不宜过多使用。

      静态方法一般无法引用实体方法(由于项目开始就创建,还没创建),要引用就要用new,通过对象方式调用。

      静态方法不能直接访问类的实例字段,必须获取类的实例才能调用实例成员(无论该实例成员是方法还是字段)。 

    静态构造器:考虑以内联(inline)方式初始化静态字段,不要使用静态构造器或者在声明时赋值。

    静态属性:使用静态属性比使用公共静态字段好,提供一定程度的封装。

    构造器(constructor):构造方法

      强制性(如果没有的话,编译器会构造一个.ctor,通过IL DASM查看);如果忘了进行初始化,编译器会在编译时自动添加一个,该构造器不获取参数,称为默认构造器,但是得到的是含有无效姓名的对象(要为所有属性提供有意义的默认值,确保默认值不会造成安全漏洞或造成代码效率大幅下降)。要允许以任意顺序设置属性,即使这会造成对象临时处于无效状态。
    一旦为类显式添加了构造器,C#就不再自动提供。

      构造器参数(camel)要使用和属性(Pascal)相同的名称,区别仅仅是大小写风格。

      要为构造器提供可选参数,用好默认值初始化属性。

      创建时,用new关键字调用,无返回值,必须与类名一致,构造器就是有参数的,没有返回类型的方法,方法名必须与类名相同。是“运行时”用来初始化对象实例的方法。

     作用:

      1、初始化对象方法;

      2、传递参数;

      3、信息读取,及其他对象初始化任务;

      4、如有多个构造方法,用this(参数)方式组合。

      用this调用另一个构造器。

    初始化器:

      作用:进一步简化属性初始化,用{, ,};分割;

      优点:无需关心参数顺序和参数个数。

     集合初始化器:P167(本质论c#)

    终结器:定义在对象销毁过程中发生的事情。

    初始化器与构造方法异同

      相同点:

        1、对象创建时使用;

        2、可以完成属性初始化。

      不同点:

        1、构造方法强制性,对象初始化器无强制性,一般写一个无参数构造方法;

        2、构造方法可以完成任何成员初始化,初始化器只能对属性初始化;

        3、构造方法提前定义,初始化器无需提前定义。

     

      

  • 相关阅读:
    使用360安全卫士在线对本机电脑进行重装系统
    分享个人电脑上的文件
    Docker初探之运行RabbitMQ消息队列服务
    Docker初探之运行MySQL
    Docker初探之常用命令实践
    Docker初探之Windows篇
    SignalR入门之多平台SignalR服务端
    SignalR入门之从外部访问持久性连接或Hub
    SignalR入门之Hub
    SignalR入门之小试身手
  • 原文地址:https://www.cnblogs.com/ly7576/p/6246168.html
Copyright © 2011-2022 走看看