关于在C#对类的属性理解
在类中都有一些成员。什么是类中的成员呢,我个人理解的是一个类中所应有的属性,方法,字段(因为目前才接触到类。所以类中一些其它应有的东西还不太熟悉),现在只探讨我列举的这几个在类中应有的东西。什么是属性呢。属性就是标志一些事物的特征。比如一个人所具有的属性就有身高,体重,年龄,性别……。然而在类中的属性是指一个字段应有的一些特征。比如在一个类中定义了一具int变量(对象)后。则这个变量就知道存储整型的数字。这就是它的属性,在C#中使用属性是为了提高安全性。当然也是为了符合面向对象程序设计的思想,不能在外部访问其内部的字段。在C#中使用get方法来读取值,使用set方法来写入值。这两种方法可以结合使用,也可以分开使用。所以一个对象就有了三种属性,分别是读,写,读写。好了,废话不多说。我们上代码。
代码如下:
using System;
namespace property
{
class a
{
private string str1;//定义字符串1
public string pro_str1//定义字符串的属性
{
get//读的属性
{
return str1;//返回值
}
set//写的属性
{
str1 = value;//重新赋值
}
}
private string str2="这个是类中的只读属性,不能写只能读";//定义字符串2
public string pro_str2//定义字符串的属性
{
get//读的属性
{
return str2;//返回值
}
}
private string str3;//定义字符串3
public string pro_str3//定义字符串的属性
{
set//写的属性
{
str3 = value;//重新赋值
}
}
public void print()
{
Console.WriteLine("{0}", str3);//因为str3在外部只可以写不能读,所以在类中定义方法将其读出。
}
}
class b
{
static void Main()
{
a temp = new a();//将类实例化
temp.pro_str1 = "这个是类中的读写属性";//通过str1的属性为其赋值
Console.WriteLine("{0}", temp.pro_str1);
Console.WriteLine("{0}", temp.pro_str2);
temp.pro_str3 = "这个是类的写属性,不能读,但是可以写";//通过str3的属性为其赋值
temp.print();//读取str3
Console.ReadKey();
}
}
}
结果如下:
这个是类中的读写属性
这个是类中的只读属性,不能写只能读
这个是类的写属性,不能读,但是可以写
关于在C#对类的属性理解的更多相关文章
- Python类属性与实例属性理解
按理讲,类属性改变,类的实例对象这个属性也应该被改变,但是在python中实际却不是这样 class test(): name = 111 a = test() b = test() a.name = ...
- IT第七天 - 类及其属性、方法的理解,断点调试初识,代码优化总结,编程逻辑培养
IT第七天 上午 类 1.对象:是多个实体抽象出来的共同点集合,对象包括:属性(即实体的特征).方法(即尸体的功能作用) 2.程序中,用类来模拟对象 3.类是抽象的,是对象的类型,是将多个拥有相同属性 ...
- IL接口和类的属性
上一篇文章学习了IL的入门,接下来我们再通过两个例子来了解下类的属性.构造函数以及接口的使用 一.类的属性.构造函数 1.先看下我们要构建的类的C#代码,然后再进行IL的实现,示例代码如下: [Ser ...
- Python的类实例属性访问规则
一般来说,在Python中,类实例属性的访问规则算是比较直观的. 但是,仍然存在一些不是很直观的地方,特别是对C++和Java程序员来说,更是如此. 在这里,我们需要明白以下几个地方: 1.Pytho ...
- C++中 类的构造函数理解(一)
C++中 类的构造函数理解(一) 写在前面 这段时间完成三个方面的事情: 1.继续巩固基础知识(主要是C++ 方面的知识) 2.尝试实现一个iOS的app,通过完成app,学习iOS开发中要用到的知识 ...
- IOS 类的属性修饰符atomic
在声明一个类的属性时,默认这个属性会被修饰atomic,意思是原子性访问的. nonatomic和atomic修饰的属性,在自己没有重写setter和getter的时候才会发生作用,其主要的作用可以理 ...
- java类(Class)的概念;对象的概念,声明类的属性 和方法,局部变量和成员变量,面向对象编程思维,抽象的概念
类(Class)的概念 类是对一组具有相同特征和行为的对象的抽象描述. 理解: [1] 类包含了两个要素:特性和行为 => 同一类事物具有相同的特征和行为. [2] 类是一个群体性概念.例如:网 ...
- python 类和元类(metaclass)的理解和简单运用
(一) python中的类 首先这里讨论的python类,都基于继承于object的新式类进行讨论. 首先在python中,所有东西都是对象.这句话非常重要要理解元类我要重新来理解一下python中的 ...
- python面向对象-2深入类的属性
在交互式环境中输入: >>> class A: a=0 def __init__(self): self.a=10 self.b=100 >>> a=A() > ...
随机推荐
- 学习opencv-------函数使用二(图像变换)
#include"cv.h" #include"highgui.h" using namespace cv; void CVFILTER2D(IplImage ...
- python基础--结构篇
在C/C++/Java中,main是程序执行的起点,Python中,也有类似的运行机制,但方式却截然不同: Python使用缩进对齐组织代码的执行,所有没有缩进的代码(非函数定义和类定义),都会在载入 ...
- [Luogu 3224] HNOI2012 永无乡
[Luogu 3224] HNOI2012 永无乡 特别水一个平衡树题. 不认真的代价是调试时间指数增长. 我写的 SBT,因为 Treap 的 rand() 实在写够了. 用并查集维护这些点的关系, ...
- redis linux下的环境搭建
系统 CentOS7 Redis 官网下载 https://redis.io/download 1.下载解压 [root@TestServer-DFJR programs]# /usr/loca ...
- linux 执行shell脚本的4种方法总结
bash shell 脚本的方法有多种,假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在的目录(此时, ...
- 【51NOD-0】1012 最小公倍数LCM
[算法]欧几里德算法 #include<cstdio> int gcd(int a,int b) {?a:gcd(b,a%b);} int main() { int a,b; scanf( ...
- 跨域iframe高度计算
一.同域获取iframe内容 这里有两个细节: 1. 取iframe内的文档对象,标准浏览器使用contentDocument属性,IE低版本(IE6,7,8)使用document属性. 2. cal ...
- js_一个简单的30分钟循环倒计时
吐槽段: 需求的变更是千变万化的,至少在你说服和你打交道的那位谁谁谁之前. 创业公司就是这样,产品经理一个想法,就是改改改,管你改起来复杂不复杂,在他们眼里都是非常简单的. 今天的一个小改动需求,把活 ...
- ImageView设置边框 以及内部图片居中显示 在AndroidStudio中添加shape.xml文件
效果如图 边框设置:shape文件 <shape xmlns:android="http://schemas.android.com/apk/res/android"> ...
- springcloud基于ribbon的canary路由方案
思路 根据eureka的metadata进行自定义元数据,然后使用ribbon对该元数据进行过滤和匹配,选择server. 实现 这里使用header来传递路由信息,改造ribbon-discover ...