ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-Porperties(属性)
1.A,示例(Sample) 返回顶部

“属性”示例

本示例演示属性为何是 C# 编程语言必不可少的一个组成部分。它演示了如何声明和使用属性。有关更多信息,请参见属性(C# 编程指南) 。

安全说明

提供此代码示例是为了阐释一个概念,它并不代表最安全的编码实践,因此不应在应用程序或网站中使用此代码示例。对于因将此代码示例用于其他用途而出现的偶然或必然的损害,Microsoft 不承担任何责任。

在 Visual Studio 中生成并运行“属性”示例

  1. 在“解决方案资源管理器”中,右击“Person”项目并单击“设为启动项目”。

  2. 在“调试”菜单上,单击“开始执行(不调试)”。

  3. 对 shapetest 重复前面上述步骤。

从命令行生成并运行“属性”示例

  1. 使用“更改目录”命令转到“person”目录。

  2. 键入以下命令:

    csc person.cs
    person
  3. 使用“更改目录”命令转到“shapetest”目录。

  4. 键入以下命令:

    csc abstractshape.cs shapes.cs shapetest.cs
    shapetest

1.B,person 示例代码(Sample Code)返回顶部

1.B.1, person.cs

// 版权所有(C) Microsoft Corporation。保留所有权利。
// 此代码的发布遵从
// Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。
//
//版权所有(C) Microsoft Corporation。保留所有权利。// person.cs
using System;
class Person
{private string myName ="N/A";private int myAge = 0;// 声明 string 类型的 Name 属性:public string Name{get {return myName; }set {myName = value; }}// 声明 int 类型的 Age 属性:public int Age{get { return myAge; }set { myAge = value; }}public override string ToString(){return "Name = " + Name + ", Age = " + Age;}public static void Main(){Console.WriteLine("Simple Properties");// 创建新的 Person 对象:Person person = new Person();// 打印出与该对象关联的姓名和年龄:Console.WriteLine("Person details - {0}", person);// 设置 Person 对象的某些值:person.Name = "Joe";person.Age = 99;Console.WriteLine("Person details - {0}", person);// 递增 Age 属性:person.Age += 1;Console.WriteLine("Person details - {0}", person);}
}

View Code

1.B.2,

1.B.EXE,

Simple Properties
Person details - Name = N/A, Age = 0
Person details - Name = Joe, Age = 99
Person details - Name = Joe, Age = 100
请按任意键继续. . .

1.B

1.B,shapetest 示例代码2(Sample Code)返回顶部

1.B.1, abstractshape.cs

// 版权所有(C) Microsoft Corporation。保留所有权利。
// 此代码的发布遵从
// Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。
//
//版权所有(C) Microsoft Corporation。保留所有权利。// abstractshape.cs
// 编译时使用:/target:library
// csc /target:library abstractshape.cs
using System;public abstract class Shape
{private string myId;public Shape(string s){Id = s;   // 调用 Id 属性的 set 访问器
   }public string Id{get {return myId;}set{myId = value;}}// Area 为只读属性 - 只需要 get 访问器:public abstract double Area{get;}public override string ToString(){return Id + " Area = " + string.Format("{0:F2}",Area);}
}

View Code

1.B.2, shapes.cs

// 版权所有(C) Microsoft Corporation。保留所有权利。
// 此代码的发布遵从
// Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。
//
//版权所有(C) Microsoft Corporation。保留所有权利。// shapes.cs
// 编译时使用:/target:library /reference:abstractshape.dll
public class Square : Shape
{private int mySide;public Square(int side, string id) : base(id){mySide = side;}public override double Area{get{// 已知边长,返回正方形的面积:return mySide * mySide;}}
}public class Circle : Shape
{private int myRadius;public Circle(int radius, string id) : base(id){myRadius = radius;}public override double Area{get{// 已知半径,返回圆的面积:return myRadius * myRadius * System.Math.PI;}}
}public class Rectangle : Shape
{private int myWidth;private int myHeight;public Rectangle(int width, int height, string id) : base(id){myWidth  = width;myHeight = height;}public override double Area{get{// 已知宽度和高度,返回矩形的面积:return myWidth * myHeight;}}
}

View Code

1.B.3, shaptest.cs

// 版权所有(C) Microsoft Corporation。保留所有权利。
// 此代码的发布遵从
// Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。
//
//版权所有(C) Microsoft Corporation。保留所有权利。// shapetest.cs
// 编译时使用:/reference:abstractshape.dll;shapes.dll
public class TestClass
{public static void Main(){Shape[] shapes ={new Square(5, "Square #1"),new Circle(3, "Circle #1"),new Rectangle( 4, 5, "Rectangle #1")};System.Console.WriteLine("Shapes Collection");foreach(Shape s in shapes){System.Console.WriteLine(s);}}
}

View Code

1.B.EXE,

Shapes Collection
Square #1 Area = 25.00
Circle #1 Area = 28.27
Rectangle #1 Area = 20.00
请按任意键继续. . .

1.B,

1.C,下载地址(Free Download)返回顶部
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/ylbtech/p/4197290.html

ylbtech-LanguageSamples-Porperties(属性)相关推荐

  1. 2020-11-07 Mybatis

    Mybatis配置 mysql 5.7 or 8.0 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息. 配置文档的顶层结构如下: configuration(配置) ...

  2. java:POI导出excel

    POI是一个开源项目,专用于java平台上操作MS OFFICE,企业应用开发中可用它方便导出Excel. 下面是使用示例: 1.maven中先添加依赖项 1 <dependency> 2 ...

  3. Vue.js:监听属性

    ylbtech-Vue.js:监听属性 1.返回顶部 1. Vue.js 监听属性 本章节,我们将为大家介绍 Vue.js 监听属性 watch,我们可以通过 watch 来响应数据的变化: 实例 & ...

  4. DotNET:LINQ对泛型(Generic)操作和泛型方法及属性

    ylbtech-DotNET:泛型(Generic)和LINQ操作 1,遍历泛型集合 2,根据索引位置移除项(RemoveAt()) 3,查询一个人(Single()) 3.2,查询一个人(Singl ...

  5. ASP.NET中 ValidationGroup[控件的属性]:分组验证的使用

    1.A,运行效果返回顶部 ValidationGroup[控件的属性]:分组验证 同组验证的组名相同 登录 注册 用户名:    注册账号:    密    码:    密        钥:     ...

  6. kotlin中继承父属性使用构造方法

    kotlin中继承父属性使用构造方法 1. 定义父类,给它两个属性: abstract class AbstractResponseMessage {private var success = tru ...

  7. Python 类—类属性(私有属性、公有属性、实例属性、局部变量)类方法(实例方法、静态方法)

    1. 创建类 类是对某个对象的定义,它包含有关对象动作方式的信息,包括它的名称.方法.属性和事件.类不存在于内存中,因此它本身并不是对象.当程序运行需要引用类的代码时,就会在内存中创建一个类的新实例, ...

  8. SpringBoot2.x 不反回空值属性

    介绍 由于有的时候我们返回的数据中存在属性没有值得情况,或者是属性的值为空白字符串,这会浪费网络流量,又或者是前端框架存在的bug会导致null值或者是空白字符串在渲染的时候会报错. 处理方式 第一种 ...

  9. Python 属性__getattribute__

    首先理解__getattribute__的用法,先看代码: class Tree(object):def __init__(self,name):self.name = nameself.cate = ...

最新文章

  1. 数据库创建索引的原则
  2. [BZOJ 1221][HNOI2001]软件开发(费用流)
  3. Spring Cloud Stream同一通道根据消息内容分发不同的消费逻辑
  4. C++ 宽字符(wchar_t)与窄字符(char)的转换
  5. SQL Server 动态生成数据库所有表Insert语句
  6. magento后台使用POST表单时,要使用必要参数form_key才能正常通讯
  7. cocos2d-x 播放视频 on Android
  8. 智慧门禁管理系统为小区的安全提供了一份保证
  9. java的xsd文件_java – 如何通过相对路径引用本地XSD文件
  10. 华为服务器系统图标,监控服务器图标
  11. selenium 模拟登录qq空间
  12. 记录VS在线安装下载慢的解决
  13. 百度AI市场MYNT EYE小觅双目摄像机开箱试用全记录
  14. 前端合并单元格(行合并、列合并)
  15. 电脑可以用的免费配音软件,语音识别,语音转文字,文字转语音。
  16. 369亿估值的AI市场下,中国AI学习者的野心与实力
  17. 数一段字母中各个字母的个数
  18. 八数码问题的三种解决方式,其一:宽度优先搜索
  19. java 高级面试题(借鉴)(上)
  20. LoadRunner使用

热门文章

  1. linux文件分别打包命令,Linux文件打包命令
  2. Win32ASM-进程学习【2】
  3. 栈的应用--括号匹配的检验
  4. c++ socket学习(1.4)
  5. MySQL 8.0.22执行器源码分析HashJoin —— BuildHashTable函数细节步骤
  6. tr闭包_嵌套函数及闭包
  7. poj 3710——Christmas Game
  8. 【转载】ACM中矩阵乘法的应用
  9. 线程之售票系统pthread_mutex,_lock,_unlock
  10. mysql 学习笔记 多表查询02