关于在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() > ...
随机推荐
- dubbo介绍以及创建
1.什么是dubbo? DUBBO是一个分布式服务框架(关于框架,其实就是配置文件加java代码),致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2 ...
- POJ 3281 最大流
Dining Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 17251 Accepted: 7643 Descripti ...
- java removeAll和重写equals、hashcode引起的性能问题
问题背景: 上周发现了一个spark job的执行时间从原来的10-15分钟延迟到了7个小时!wtf,这是出了什么事引起了这么大的性能问题!! 立马查看job的运行日志,发现多次运行都是在某一个固定的 ...
- Beautiful Soup的一些中文资料
如果你着急用的话,可以看下这个简略版的,非常简单: 转自 人世间http://rsj217.diandian.com/post/2012-11-01/40041235132 当然,强烈推荐你看一下的 ...
- Leetcode:52. N-QueensII
Description Follow up for N-Queens problem. Now, instead outputting board configurations, return the ...
- gridveiw的使用
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...
- John's trip(POJ1041+欧拉回路+打印路径)
题目链接:http://poj.org/problem?id=1041 题目: 题意:给你n条街道,m个路口,每次输入以0 0结束,给你的u v t分别表示路口u和v由t这条街道连接,要输出从起点出发 ...
- POJ 3279 Fliptile ( 开关问题)
题目链接 Description Farmer John knows that an intellectually satisfied cow is a happy cow who will give ...
- 换行符 \r \n \r\n 在不同系统下的区别
'\r'是回车,前者使光标到行首,(carriage return)'\n'是换行,后者使光标下移一格,(line feed)\r 是回车,return\n 是换行,newline对于换行这个动作,u ...
- new操作符的内部运行解析
在加上new操作符,我们就能完成传统面向对象的class + new的方式创建对象,在Javascript中,我们将这类方式成为Pseudoclassical. 基于上面的例子,我们执行如下代码 ...