C#属性的使用--C#基础
1、属性的作用:保护字段,对字段取值与赋值进行限定
2、属性的使用:
_name(属性名)
public [对应字段类型] 属性名Name
{
get{return _name;}
set{_name=value;}
}
3、字段和属性的命名格式:
字段的命名方式一般采用:_cameCase
字段的命名方式一般采用:PascalCase
4、有了属性以后,往往通过属性去访问字段。属性通常声明为public,字段通常声明为private。在外部访问类中的字段,都是通过属性来实现。get可对取值进行界定,set可对赋值进行界定,通常我们将get和set称为访问器。
Clerk.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharp属性的使用
{
class Clerk
{
private string _name;//字段
public string Name//属性
{
get {return _name;}
set { _name = value; }
}
private char _gender;//字段
public char Gender//属性
{
get {
if (Gender != '男' || Gender != '女')
_gender = '男';
return _gender;
}
set{
_gender = value;//value是内置的变量
}
}
private int _age;
public int Age {
get { return _age; }
set {
if (value < 0 || value > 120)
value = 0;
_age = value;
}
}
public string _department;
public int _workyears;
public void Write() {
//可加this
Console.WriteLine("{0}{1}{2}{3}{4}",_name,Gender,_workyears,Age,_department);
// Console.WriteLine("{0}{1}{2}{3}{4}", this._name, this._gender, this._workyears, this._age, this._department);
}
}
}
Program.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharp属性的使用
{
class Program
{
static void Main(string[] args)
{
Clerk zsClerk = new Clerk();
zsClerk.Name = "张三";
zsClerk.Gender='男';
zsClerk.Age= 25;
zsClerk._department="人力部";
zsClerk._workyears = 10;
zsClerk.Write();
Console.ReadKey();
}
}
}
5、属性的分类
属性分为4种,
1)既读又写:同时包含get和set
2)只读:只包含get
3)只写:只包含set
4)自动属性
C#属性的使用--C#基础的更多相关文章
- python属性管理(1):基础
管理属性的几种方式 在python中访问.设置.删除对象属性的时候,有以下几种方式: 使用内置函数getattr().setattr()和delattr() 自己编写getter().setter() ...
- vue学习-第三个DEMO(计算属性和监视) v-model基础用法
<div id="demo"> 姓:<input type="text" placeholder="First Name" ...
- Vue基础系列(二)——Vue中的methods属性
写在前面的话: 文章是个人学习过程中的总结,为方便以后回头在学习. 文章中会参考官方文档和其他的一些文章,示例均为亲自编写和实践,若有写的不对的地方欢迎大家指出. 作者简介: 一个不知名的前端开发 ...
- ArcGIS Engine开发前基础知识(3)
对象模型图 一.对象模型图中的类与接口 ArcGIS Engine 提供大量的对象,这些对象之间存在各种各样的关系,如继承.组合.关联等.对象模型图(Object model diagram,ODM) ...
- 实用的CSS3属性和使用技巧
CSS可以改进网站的设计并且开拓网站设计更多的可能性,可以令你的网页更具吸引力.对于前端开发者.网站设计师来说,掌握并熟练应用CSS是一项必不可少的技能. 下面列出了一些非常实用的CSS3属性和使用技 ...
- SVN与TortoiseSVN实战:属性的奇技淫巧(二)
硬广:<SVN与TortoiseSVN实战>系列已经写了七篇,本系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解. 关于属性的奇技淫巧较多,分为两篇来写,第一篇详见< ...
- SVN与TortoiseSVN实战:属性的奇技淫巧(一)
硬广:<SVN与TortoiseSVN实战>系列已经写了六篇,本系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解,预计再用三.四篇来结束这个系列. 本篇详解一下SVN的属 ...
- 快速了解常用XHTML基础
运行效果: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...
- javascript基础笔记学习
/** * Created by Administrator on 2016/12/26. */ /* var box; alert( typeof box); box是Undefined类型,值是u ...
随机推荐
- 使用Dism备份和全新恢复系统
1.使用WinPE启动,winPE制作可以参考我的另一文章http://www.cnblogs.com/karl-F/p/6934086.html 2.捕获C盘镜像 (1)查看磁盘 在PE提示符:输入 ...
- 2n皇后问题
此题为蓝桥杯基础练习题. 问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行.同一列或同一条对角线上,任意的两个白皇后 ...
- Git 如何 clone 非 master 分支的代码
问题描述 我们每次使用命令 git clone git@gitlab.xxx.com:xxxxx.git 默认 clone 的是这个仓库的 master 分支.如果最新的代码不在 master 分支上 ...
- Openwrt上使用dnsmasq和ipset实现域名分流
目标 部署一台自动代理路由器,实现根据域名来自动设定直连或者代理,而我要做的只是设置PC的默认网关为主路由器(192.168.0.1)还是自动代理路由器(192.168.0.254). 创建Openw ...
- centos7 网桥的配置
centos7下配置网桥,两个步骤:1.新建网桥配置2.修改网卡配置 新建br0 网桥配置 在/etc/sysconfig/network-scripts/目录下新建ifcfg-br0,添加如下配置信 ...
- LVS的NAT模式测试
dir 分别配置ip eth0 :10.222.138.200 eth0:1 10.222.21.190 rs1 eth0 :10.222.138.201 rs2 eth0: 10.222.1 ...
- C控制语句:循环
#include<stdio.h>int main(void){long num;long sum = 0L;int status; printf("Please enter a ...
- js到底new了点啥
在最开始学习js的时候,我看书上写着,创建一个数组,一个对象通常使用new,如下: var arr=new Array(),//arr=[] obj=new Object();//obj={} 到了后 ...
- Python常用数据结构之collections模块
Python数据结构常用模块:collections.heapq.operator.itertools collections collections是日常工作中的重点.高频模块,常用类型由: 计数器 ...
- 【netty这点事儿】ByteBuf 的使用模式
堆缓冲区 最常用的 ByteBuf 模式是将数据存储在 JVM 的堆空间中. 这种模式被称为支撑数组(backing array), 它能在没有使用池化的情况下提供快速的分配和释放. 直接缓冲区 直接 ...