ylbtech-LanguageSamples-Porperties(属性)
| ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-Porperties(属性) |
| 1.A,示例(Sample) 返回顶部 |
“属性”示例
本示例演示属性为何是 C# 编程语言必不可少的一个组成部分。它演示了如何声明和使用属性。有关更多信息,请参见属性(C# 编程指南) 。
| 安全说明 |
|---|
|
提供此代码示例是为了阐释一个概念,它并不代表最安全的编码实践,因此不应在应用程序或网站中使用此代码示例。对于因将此代码示例用于其他用途而出现的偶然或必然的损害,Microsoft 不承担任何责任。 |
在 Visual Studio 中生成并运行“属性”示例
在“解决方案资源管理器”中,右击“Person”项目并单击“设为启动项目”。
在“调试”菜单上,单击“开始执行(不调试)”。
对 shapetest 重复前面上述步骤。
从命令行生成并运行“属性”示例
使用“更改目录”命令转到“person”目录。
键入以下命令:
csc person.cs
person使用“更改目录”命令转到“shapetest”目录。
键入以下命令:
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 = ; // 声明 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 = ;
Console.WriteLine("Person details - {0}", person); // 递增 Age 属性:
person.Age += ;
Console.WriteLine("Person details - {0}", person);
}
}
1.B.2,
1.B.EXE,
Simple Properties
Person details - Name = N/A, Age =
Person details - Name = Joe, Age =
Person details - Name = Joe, Age =
请按任意键继续. . .
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);
}
}
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;
}
}
}
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(, "Square #1"),
new Circle(, "Circle #1"),
new Rectangle( , , "Rectangle #1")
}; System.Console.WriteLine("Shapes Collection");
foreach(Shape s in shapes)
{
System.Console.WriteLine(s);
} }
}
1.B.EXE,
Shapes Collection
Square # Area = 25.00
Circle # Area = 28.27
Rectangle # Area = 20.00
请按任意键继续. . .
1.B,
| 1.C,下载地址(Free Download)返回顶部 |
![]() |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
ylbtech-LanguageSamples-Porperties(属性)的更多相关文章
- c3p0连接数据库的3种方式
c3p0连接数据库的3种方式,这里以mysql为例 1. 直接用set方法设置参数, 基本方法 ComboPooledDataSource dataSource = new ComboPooledDa ...
- java:POI导出excel
POI是一个开源项目,专用于java平台上操作MS OFFICE,企业应用开发中可用它方便导出Excel. 下面是使用示例: 1.maven中先添加依赖项 <dependency> < ...
- excel poi 文件导出,支持多sheet、多列自动合并。
参考博客: http://www.oschina.net/code/snippet_565430_15074 增加了多sheet,多列的自动合并. 修改了部分过时方法和导出逻辑. 优化了标题,导出信息 ...
- jqu
1 /*2 * 说明:3 * 本源代码的中文注释乃Auscarlin呕心沥血所作.旨在促进jQuery的传播以及向广大jQuery爱好者提供一个进阶4 *的途径,以让各位更加深入地了解jQuery,学 ...
- Spring中使用@Value读取porperties文件中的属性值方法总结及注意事项
本文为博主原创,转载请注明出处. 此前曾总结过使用工具类读取properties文件中的属性值,有兴趣的可以看一下. 如何快速获取properties中的配置属性值:https://www.cnblo ...
- Vue.js:监听属性
ylbtech-Vue.js:监听属性 1.返回顶部 1. Vue.js 监听属性 本章节,我们将为大家介绍 Vue.js 监听属性 watch,我们可以通过 watch 来响应数据的变化: 实例 & ...
- Vue.js:计算属性
ylbtech-Vue.js:计算属性 1.返回顶部 1. Vue.js 计算属性 计算属性关键词: computed. 计算属性在处理一些复杂逻辑时是很有用的. 可以看下以下反转字符串的例子: 实例 ...
- 杂项:C# 方法、属性杂项-01
ylbtech-杂项:C# 方法.属性杂项-01 1. 属性杂项返回顶部 1. public int ReadCnt { get; set; } 2.设置默认值 public int ReadCnt ...
- CSS:CSS cursor 属性
ylbtech-CSS:CSS cursor 属性 1.返回顶部 1. 实例 一些不同的光标: span.crosshair {cursor:crosshair;} span.help {cursor ...
随机推荐
- Volatile arrays in Java
Volatile arrays in Java A slight complication of Java volatile fields, and one sometimes overlooked, ...
- Spring boot 集成hessian - LocalDateTime序列化和反序列化
- 反序列化 import com.caucho.hessian.HessianException; import com.caucho.hessian.io.AbstractDeserializer ...
- JAVA 语言类的特性(成员、重载、构造方法、静态成员)
一.类的私有成员和公有成员 1.私有成员 修饰符private 如果在类的声明前加上修饰符private,则无法从该类的外部访问到该类的内部成员,而只能被该类自身访问和修改,而不嗯那个被其他类, ...
- 【JBPM4】流程任务变量存取
任务变量与流程变量的操作相同,前者帮定任务ID,后者绑定流程ID. 添加任务变量 //创建流程引擎 ProcessEngine processEngine = Configuration.getPro ...
- AC日记——[SCOI2009]游戏 bzoj 1025
[SCOI2009]游戏 思路: 和为n的几个数最小公倍数有多少种. dp即可: 代码: #include <bits/stdc++.h> using namespace std; #de ...
- javascript大神修炼记(5)——OOP思想(封装)
读者朋友们好,前面我们已经讲解了有关javascript的基础,从今天的内容开始,我们就要开始讲有关封装的内容了,这里,我们就一点一点地接触到OOP(面向对象编程)了,如果作为一门语言使用的程序员连O ...
- Java数据库连接池-proxool
连接池技术的思想: 连接复用(高效.安全),避免数据库频繁建立.关闭的开销 --------------------极客学院(参考lulei) 1.配置文件 <proxool> <! ...
- 常用的smarty变量操作
php模板引擎smarty的变量操作符可用于操作变量,自定义函数和字符.语法中使用"|"应用变量操作符,多个参数用":"??指簟?/DIV> capita ...
- "The /usr/local directory is not writable."解决方法
sudo chown -R $(whoami) /usr/local brew prune
- python中文转换url编码
今天要处理百度贴吧的东西.想要做一个关键词的list,每次需要时,直接添加 到list里面就可以了.但是添加到list里面是中文的情况(比如‘丽江’),url的地址编码却是’%E4%B8%BD%E6% ...
