属性的使用--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)自动属性

时间: 2024-10-13 01:26:22

属性的使用--C#基础的相关文章

css3新属性transform 3D的基础笔记.

研究了下css3中的 transform变换属性中的3D属性效果和看到的一篇好文章了解到了3D的学习;好文章地址:http://www.zhangxinxu.com/wordpress/2012/09/css3-3d-transform-perspective-animate-transition/ 下面只是自己能读懂自己写的代码例子: <style> #box{ -webkit-perspective:800px;//定义3D场景大小 -webkit-transform-origin:50%

python属性管理(1):基础

管理属性的几种方式 在python中访问.设置.删除对象属性的时候,有以下几种方式: 使用内置函数getattr().setattr()和delattr() 自己编写getter().setter().deleter()方法 重载__getattr__().__setattr__().__delattr__()运算符,这决定了x.y的访问.赋值方式以及del x.y的方式 使用__getattribute__()方法 使用描述符协议 使用property协议,它是一种特殊的描述符 本文简单介绍其

python基础教程(第二版)

开始学习python,根据Python基础教程,把里面相关的基础章节写成对应的.py文件 下面是github上的链接 python基础第1章基础 python基础第2章序列和元组 python基础第3章使用字符串 python基础第4章字典 python基础第5章循环 python基础第6章函数和魔法参数 python基础第7章类 python基础第8章异常 python基础第9章魔法方法.属性和迭代器 python基础第11章文件 python基础第12章GUI(wxPython) pytho

2015年最新Android基础入门教程目录(完结版)

2015年最新Android基础入门教程目录(完结版) 标签(空格分隔): Android基础入门教程 前言: 关于<2015年最新Android基础入门教程目录>终于在今天落下了帷幕,全套教程 共148节已编写完毕,附上目录,关于教程的由来,笔者的情况和自学心得,资源分享 以及一些疑问等可戳:<2015最新Android基础入门教程>完结散花~ 下面是本系列教程的完整目录: 第一章:环境搭建与开发相关(已完结 10/10) Android基础入门教程--1.1 背景相关与系统架构

Autolayout基础讲解

Interface Builder 介绍 在 storyboard 界面的右下角,有这么一排图标 鼠标放上去停留一小段时间,就会告诉你它们的作用,从左至右依次是: Align:用来设置对齐相关的约束: Pin:设置相对大小和位置: Resolve Auto Layout Issues:解决 autolayout 问题: Resizing Behavior:设置重置大小会如何影响其他对象: Align(对齐) 下面这些是两个视图层次中同一级的 View 的对齐. Leading Edges:头对齐

快速了解常用XHTML基础

运行效果: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!--开头这部分的DOCTYPE一行了解即可,更多的信息自行百度.本整理示例重点在于规范课程专业术语表达,概念描述和讲解--> <!--重点概念:[标签]`[属性]`[属性值]`[参

WPF 数据绑定基础

纯理论,可能会枯燥. .net 技术群: 199281001 ,欢迎加入. 1.目标对象一定是派生自DependencyObject的对象,并且目标属性必须是依赖属性,否则数据绑定操作将会失   败.绑定源对象可以不是依赖对象和依赖属性. 2.定义了依赖属性时,FrameworkPropertyMetadataOptions.NotDataBindable 标志会影响依赖属性的绑定.当改变源对象依赖属性值后,绑定目标可以立即得以更新,开发人员不需要响应事件来手动编写响应代码. 3.移除绑定:开发

Maven属性(properties)标签的使用

引用官方的说明https://maven.apache.org/pom.html#Properties: Properties 属性是了解POM基础知识的最后一个要素.Maven属性是值占位符,如Ant中的属性.它们的值可以通过使用符号${X}在POM中的任何位置访问,其中X是属性. 他们有五种不同的风格: 1.env.X:使用“env”来定义变量.将返回shell的环境变量.例如,${env.PATH}包含PATH环境变量. 注意:虽然环境变量本身在Windows上不区分大小写,但查找属性区分

DedeCMS基础

DedeCMS模板引擎的核心: dedetag.class.php和dedetemplate.class.php(位于include文件下)这两个类下面. 1.dedetag.class.php:解析式模板引擎类,解析方式是:读取模板中的标签,然后解析.替换:适合生成静态文档. 2.dedetemplate.class.php:编译式模板引擎类,特点:将模板中的标签编译成php文件,然后在显示的时候直接调用php文件:适合生成动态模块. 模板中定义的标签位于:\include\taglib 动态