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

  编写方法要考虑的内容:

    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、构造方法提前定义,初始化器无需提前定义。

 

  

c#面向对象基础技能——学习笔记(三)基于OOP思想研究对象的【方法】的更多相关文章

  1. c#面向对象基础技能——学习笔记(二)基于OOP思想研究对象的【属性】

    字段(成员变量): 字段只能从对象中访问实例字段,无法直接从类中访问(换言之,不创建实例就不能访问),可以理解为:字段一般用在内部数据交互使用,当需要为外部提供数据时,(要优先使用自动实现的属性而不是 ...

  2. c#面向对象基础技能——学习笔记(五)委托技术在开发中的应用

    委托 delegate 1.是一种全新的面向对象语言的特性: 2.开发事件驱动程序变得非常简单: 3.简化多线程难度. 理解委托:可以理解成一个方法的指针.(接收的变量是方法) 步骤: 1.声明委托, ...

  3. JAVA WEB学习笔记(三):简单的基于Tomcat的Web页面

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  4. Objective-c基础知识学习笔记

    Objective-c基础知识学习笔记(一) 一直有记录笔记的习惯.但非常久没分享一些东西了,正好上半年開始学习IOS了,如今有空写点.因开发须要,公司特意为我们配置了几台新MAC.还让我们自学了2周 ...

  5. 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记

    回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...

  6. angular学习笔记(三十一)-$location(2)

    之前已经介绍了$location服务的基本用法:angular学习笔记(三十一)-$location(1). 这篇是上一篇的进阶,介绍$location的配置,兼容各版本浏览器,等. *注意,这里介绍 ...

  7. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

  8. NumPy学习笔记 三 股票价格

    NumPy学习笔记 三 股票价格 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.&l ...

  9. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

随机推荐

  1. Kooboo CMS技术文档之二:Kooboo CMS的安装步骤

    在IIS上安装Kooboo CMS Kooboo CMS安装之后 安装的常见问题 1. 在IIS上安装Kooboo CMS Kooboo CMS部署到正式环境相当简单,安装过程是一个普通MVC站点在I ...

  2. 微框架spark--api开发利器

    spark简介 Spark(注意不要同Apache Spark混淆)的设计初衷是,可以简单容易地创建REST API或Web应用程序.它是一个灵活.简洁的框架,大小只有1MB.Spark允许用户自己选 ...

  3. C#创建dll类库

    类库让我们的代码可复用,我们只需要在类库中声明变量一次,就能在接下来的过程中无数次地使用,而无需在每次使用前都要声明它.这样一来,就节省了我们的内存空间.而想要在类库添加什么类,还需取决于类库要实现哪 ...

  4. Spring的数据库开发

                                Spring JDBC框架操作mysql数据库 Spring中的JDBC为我们省去连接和关闭数据库的代码,我们着重关注对数据库的操作.Sprin ...

  5. BPM体系文件管理解决方案分享

    一.方案概述 企业管理在很大程度上是通过文件化的形式表现出来,体系文件管理是管理体系存在的基础和证据,是规范企业管理活动和全体人员行为,达到管理目标的管理依据.对与公司质量.环境.职业健康安全等体系有 ...

  6. Android中点击事件的实现方式

    在之前博文中多次使用了点击事件的处理实现,有朋友就问了,发现了很多按钮的点击实现,但有很多博文中使用的实现方式有都不一样,到底是怎么回事.今天我们就汇总一下点击事件的实现方式. 点击事件的实现大致分为 ...

  7. 腾讯云下安装 nodejs + 实现 Nginx 反向代理

    本文将介绍如何给腾讯云上的 Ubuntu Server 12.04 LTS 64位主机安装 node 及 nginx,并简单配置反向代理. 笔者在整个安装过程中遇到不少麻烦(不赘述),如果你希望少踩坑 ...

  8. iOS开发系列--通知与消息机制

    概述 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情.iOS中通知机制又叫消息机制,其包括两类:一类是本地 ...

  9. SQL Server 索引和表体系结构(聚集索引)

    聚集索引 概述 关于索引和表体系结构的概念一直都是讨论比较多的话题,其中表的各种存储形式是讨论的重点,在各个网站上面也有很多关于这方面写的不错的文章,我写这篇文章的目的也是为了将所有的知识点尽可能的组 ...

  10. Java在DOS命令下的运行及其API文档制作过程

    该文档主要描述java程序在DOS命令下的运行,以及一些常用的命令 常用DOS命令: d: 回车 盘符切换 dir(directory):列出当前目录下的文件以及文件夹 md (make direct ...