c#类的定义规范

字段与属性的比较:

  字段:

    字段主要是为类的内部做数据交换交互使用,字段一般是private

    字段可以赋值,也可以取值

    当字段需要为外部数据提供数据的时候,请将字段封装为属性,而不是使用公有字段,这是面向对象所提倡的。

  属性:

    属性一般是向外提供数据,主要用来描述对象的静态特征,所以,属性一般是public的。

    属性可以根据需要设置为只读,只写,提高数据的安全性

自动属性:

属性编写新语法(自动属性:.NET3.0及其后续版本)

private double height;//身高
public double Height{ get {return height}
set{height=value]
}

简化:

public double height{get;set;}

优点:

  简化属性代码

快捷方式:

  prop 然后按俩下TAB

适用要求:

  不能直接操作私有字段

  不能设置只读,只写属性

  不能添加验证逻辑

方法定义要求:

注意事项:

  1. 访问修饰符:可以省略,默认为private,可以根据需要定义成public
  2. 方法名:一般是动词或者为动宾短语,采用Pascal,首字母大写,不能以数字开头
  3. 参数列表:根据需要添加,也可以省略,参数列表格式为“类型  参数名”的形式,使用逗号分割
  4. 有返回值:使用return返回,return语句不能在有语句,因为不执行
  5. 没有返回值:如果不返回任何数据,使用void表示

常见错误(3种):

  错误1:忘记返回值

  

  解决方法:

  

  错误2:返回值定义类型和返回数据类型不一致

  解决方法:

    修改方法定义的返回值类型

    修改实际返回的数据类型

  错误3:变量在使用中超出作用域范围

变量的分类及其作用域:

  在方法内部的变量,称为“局部变量”,只能在该方法内部使用

  在方法外部,内部定义的变量,称为“成员变量”(也叫字段),可以在内部或者外部使用(很少在外部使用)

  未完待续,持续更新......

C#基础(202)--类定义,字段与属性,自动属性,方法及常见错误的更多相关文章

  1. C#读取对象实例的值和对对象的属性自动赋值方法

    using System; using System.Data; using System.Reflection; namespace DBUtility { /// <summary> ...

  2. Linq之隐式类型、自动属性、初始化器、匿名类

    目录 写在前面 系列文章 隐式类型 自动属性 初始化器 匿名类 总结 写在前面 上篇文章是本系列的小插曲,也是在项目中遇到,觉得有必要总结一下,就顺手写在了博客中,也希望能帮到一些朋友.本文将继续介绍 ...

  3. c#4.5新语法--自动属性和隐式类型

    1.自动属性    自动属性是c#中属性定义的两种形式的一种:传统属性定义.自动属性.    1.1 传统属性定义        private int _age;        public int ...

  4. [C#详解] (1) 自动属性、初始化器、扩展方法

    文章来源:Slark.NET-博客园 http://www.cnblogs.com/slark/p/CSharp-focus-1.html 代码下载:点我下载 目录 前言 属性与自动属性 属性 自动属 ...

  5. c#、vb 自动属性

    vb示例: Public Property Name() As String = "Bob" 等效于 Private _name As String = "Bob&quo ...

  6. C#的隐式类型、匿名类型、自动属性、初始化器

    1.隐式类型 1)源起 在隐式类型出现之前,我们声明一个变量时,需要为它指定相应的类型,甚至在foreach一个集合的时候,也要为遍历的集合元素,指定变量的类型,隐式类型出现后,程序员就不用再做这个工 ...

  7. [.net 面向对象编程基础] (10) 类的成员(字段、属性、方法)

    [.net 面向对象编程基础] (10) 类的成员(字段.属性.方法) 前面定义的Person的类,里面的成员包括:字段.属性.方法.事件等,此外,前面说的嵌套类也是类的成员. a.类的成员为分:静态 ...

  8. python基础(26):类的成员(字段、方法、属性)

    1. 字段 字段:包括普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同. 普通字段属于对象 静态字段属于类 字段的定义和使用: class Province: # ...

  9. python 面向对象类成员(字段 方法 属性)

    一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province: # 静态字段 countr ...

随机推荐

  1. 第45节:Java当中的变量,面向对象

    Java当中的变量 01 Java当中的实例变量和类变量 什么是实例变量和类变量呢? 实例变量为没有用static修饰符修饰的变量,而类变量为用static修饰符修饰的变量. public class ...

  2. Python学习笔记【第五篇】:基础函数

    一.函数:函数定义关键字def  后跟函数名称 def 函数名(参数):             ...     函数体     ...     返回值 案例: # 定义函数 def say_hei( ...

  3. Kali学习笔记18:OpenVAS使用

    上一篇讲了什么是OpenVAS以及如何安装: https://www.cnblogs.com/xuyiqing/p/9690373.html 接下来就是使用: 我先打开一台Metasploitable ...

  4. [Postman]授权(11)

    授权过程将验证您是否有权从服务器访问所需的数据.发送请求时,通常必须包含参数以确保请求具有访问权限并返回所需数据.Postman提供的授权类型使您可以轻松处理Postman本机应用程序中的身份验证协议 ...

  5. Spark从入门到精通(一)

    什么是Spark 大数据计算框架 离线批处理 大数据体系架构图(Spark) Spark包含了大数据领域常见的各种计算框架:比如Spark Core用于离线计算,Spark SQL用于交互式查询,Sp ...

  6. Python爬虫-萌妹子图片

    最近发现一个可以看图的地方,一张张翻有点累,毕竟只有一只手(难道鼠标还能两只手翻?).能不能下到电脑上看呢,毕竟不用等网速,还可以预览多张,总之很方便,想怎么就怎么,是吧? 刚好这几天在学python ...

  7. java项目引用证书文件(微信支付的p12文件)

    1. 绝对路径: // windows: public static String PATH1 = "E:\\project27_app_wuyoujie\\apiclient_cert.p ...

  8. java中Base64的加密工具封装

    Base64加密作为最简单普遍的加密方式(其实只能称为编码方式),应用场景众多比如秘钥,安全证书,也应用在其他的加密方式中或与其他加密方式进行嵌套使用 可以通过引用sun.misc来使用,也可以自己手 ...

  9. ASCII码字符串普通加密解密-android

    //android后台Java //ASCII加密 String str = e.getText().toString(); StringBuilder s = new StringBuilder() ...

  10. mysql 开发进阶篇系列 2 SQL优化(explain分析)

    接着上一篇sql优化来说 1. 定位执行效率较低的sql 语句 通过两种方式可以定位出效率较低的sql 语句. (1) 通过上篇讲的慢日志定位,在mysqld里写一个包含所有执行时间超过 long_q ...