C#基础(202)--类定义,字段与属性,自动属性,方法及常见错误
c#类的定义规范

字段与属性的比较:
字段:
字段主要是为类的内部做数据交换交互使用,字段一般是private
字段可以赋值,也可以取值
当字段需要为外部数据提供数据的时候,请将字段封装为属性,而不是使用公有字段,这是面向对象所提倡的。
属性:
属性一般是向外提供数据,主要用来描述对象的静态特征,所以,属性一般是public的。
属性可以根据需要设置为只读,只写,提高数据的安全性
自动属性:
属性编写新语法(自动属性:.NET3.0及其后续版本)
private double height;//身高
public double Height{ get {return height}
set{height=value]
}
简化:
public double height{get;set;}
优点:
简化属性代码
快捷方式:
prop 然后按俩下TAB
适用要求:
不能直接操作私有字段
不能设置只读,只写属性
不能添加验证逻辑
方法定义要求:

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

解决方法:

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

解决方法:
修改方法定义的返回值类型
修改实际返回的数据类型
错误3:变量在使用中超出作用域范围

变量的分类及其作用域:
在方法内部的变量,称为“局部变量”,只能在该方法内部使用
在方法外部,内部定义的变量,称为“成员变量”(也叫字段),可以在内部或者外部使用(很少在外部使用)
未完待续,持续更新......
C#基础(202)--类定义,字段与属性,自动属性,方法及常见错误的更多相关文章
- C#读取对象实例的值和对对象的属性自动赋值方法
using System; using System.Data; using System.Reflection; namespace DBUtility { /// <summary> ...
- Linq之隐式类型、自动属性、初始化器、匿名类
目录 写在前面 系列文章 隐式类型 自动属性 初始化器 匿名类 总结 写在前面 上篇文章是本系列的小插曲,也是在项目中遇到,觉得有必要总结一下,就顺手写在了博客中,也希望能帮到一些朋友.本文将继续介绍 ...
- c#4.5新语法--自动属性和隐式类型
1.自动属性 自动属性是c#中属性定义的两种形式的一种:传统属性定义.自动属性. 1.1 传统属性定义 private int _age; public int ...
- [C#详解] (1) 自动属性、初始化器、扩展方法
文章来源:Slark.NET-博客园 http://www.cnblogs.com/slark/p/CSharp-focus-1.html 代码下载:点我下载 目录 前言 属性与自动属性 属性 自动属 ...
- c#、vb 自动属性
vb示例: Public Property Name() As String = "Bob" 等效于 Private _name As String = "Bob&quo ...
- C#的隐式类型、匿名类型、自动属性、初始化器
1.隐式类型 1)源起 在隐式类型出现之前,我们声明一个变量时,需要为它指定相应的类型,甚至在foreach一个集合的时候,也要为遍历的集合元素,指定变量的类型,隐式类型出现后,程序员就不用再做这个工 ...
- [.net 面向对象编程基础] (10) 类的成员(字段、属性、方法)
[.net 面向对象编程基础] (10) 类的成员(字段.属性.方法) 前面定义的Person的类,里面的成员包括:字段.属性.方法.事件等,此外,前面说的嵌套类也是类的成员. a.类的成员为分:静态 ...
- python基础(26):类的成员(字段、方法、属性)
1. 字段 字段:包括普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同. 普通字段属于对象 静态字段属于类 字段的定义和使用: class Province: # ...
- python 面向对象类成员(字段 方法 属性)
一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province: # 静态字段 countr ...
随机推荐
- 《http权威指南》读书笔记7
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...
- python列表(list)的简单学习
列表是由一系列按特定顺序排列的元素组成, 是 Python 中使用最频繁的数据类型.列表可以完成大多数集合类的数据结构实现.列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表.字典(即嵌套 ...
- django- Vue.js 操作
安装cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org 安装 vue.js cnpm install -g vue- ...
- linux 命令 — xargs
xargs xargs能接收stdin并将其转化为特定命令的命令行参数,构建单行命令的重要工具 command | xargs 指定分隔符 echo "splitXsplitXsplitXs ...
- httpd的编译安装
1.环境介绍 系统:2.6.32-279.el6.i686 2.准备编译环境 [root@localhost ~]# yum groupinstall "Server Platform De ...
- 【原创】驱动卸载之ControlService函数
BOOL WINAPI ControlService( _In_ SC_HANDLE hService, _In_ DWORD dwControl, _Out_ LPSERVICE_STATUS lp ...
- Java 并发编程-再谈 AbstractQueuedSynchronizer 2:共享模式与基于 Condition 的等待 / 通知机制实现
共享模式acquire实现流程 上文我们讲解了AbstractQueuedSynchronizer独占模式的acquire实现流程,本文趁热打铁继续看一下AbstractQueuedSynchroni ...
- go os/exec执行外部程序
Go提供的os/exec包可以执行外部程序,比如调用系统命令等. 最简单的代码,调用pwd命令显示程序当前所在目录: package main import ( "fmt" &qu ...
- Linux下的java虚拟机性能监控与故障处理命令
java包中提供了很多监控JVM的工具类,作为java程序员必须得掌握常用的几个工具,下面是几个常用的JVM性能监控与故障处理工具的介绍与使用. 1.jstack 该命令用于生成当前时刻虚拟机的线程快 ...
- shell脚本动画小工具
shell脚本动画小工具 看gif图: shell脚本版 脚本内容如下: #!/usr/bin/env bash ## ---------------------------------------- ...