关于在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() > ...
随机推荐
- X210串口配置与stdio移植
串口控制器初始化关键步骤 (1)初始化串口的Tx和Rx引脚所对应的GPIO(查原理图可知Rx和Rx分别对应GPA0_1和GPA0_0) (2)GPA0CON(0xE0200000),bit[3:0] ...
- Spring Boot应用中的异常处理
在普通的单线程程序中,捕获异常只需要通过try ... catch ... finally ...代码块就可以了.那么,在并发情况下,比如在父线程中启动了子线程,如何正确捕获子线程中的异常,从而进行相 ...
- SPOJ 104 HIGH - Highways
HIGH - Highways http://www.spoj.com/problems/HIGH/ In some countries building highways takes a lot o ...
- Gradle加载本地jar包
有时,我们需要的jar包不一定能在远程仓库中找到,这时我们需要加载本地的jar包. 加载单独的jar包 在项目底下添加libs目录,将jar包仍进libs目录 build.gradle配置如下: de ...
- 微信小程序提示框
一.wx.showToast 如上图所示,showToast会显示一个弹窗,在指定的时间之后消失.中间的图标默认只有加载中和成功两种,也可以用image参数自定义图标 wx.showToast({ t ...
- bzoj 1965 数学
首先我们可以发现每张牌的对应关系,假设序号为x的牌,经过一次洗牌后的位置为: 2*x x<=n/2 2*(x-n/2)-1 x>n/2 那么我们可以将下面的式子化简,变成2*x-n ...
- javascript继承机制 & call apply使用说明
一.继承机制 1.对象冒充:构造函数使用 this 关键字给所有属性和方法赋值,可使 ClassA 构造函数成为 ClassB 的方法,然后调用它. function ClassZ() { this. ...
- Perl6 Bailador框架(1):开始
use v6; use Bailador; get '/' => sub { '<h1><center>Hello, World</center></h ...
- 【Python学习笔记】Pandas库之DataFrame
1 简介 DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表. 或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matla ...
- python 异步IO( asyncio) 协程
python asyncio 网络模型有很多中,为了实现高并发也有很多方案,多线程,多进程.无论多线程和多进程,IO的调度更多取决于系统,而协程的方式,调度来自用户,用户可以在函数中yield一个状态 ...