哈喽,你好,我是雷工。
探究OOP中属性的奥秘
认识类的属性(Property)
01 属性的使用
作用:在面向对象(OOP)中主要用来封装数据。
要求:一般采用Pascal命名法(首字母要大写),数据类型和字段要一致,使用public修饰。
02 属性的定义
C#2.0时代标准属性的基本形式:
private int courseld;//返回四有字段的值
public int Courseld
{
get{return courseld;}//返回四有字段的值
set{courseld=value;}//通过value给私有字段赋值
}
C#3.0时代,对标准属性做了简化(以后,标准属性,都可以按下方形式):
public int Courseld{get;set;}
C#4.0时代,增加属性表达式(但不常用)
private int unitPrice=4000;
public int UnitPrice{get=>unitPrice;set=>unitPrice=value;}
//C#4.0时代以后,可以直接赋值
public string Type{get;set;}=“雷工笔记”;
private DateTime FirstDate{get;set;}//首发时间
03 对象属性Property业务特性
在属性get和set方法中添加业务逻辑
代码示例:
private int courseld=0;
public int Courseld
{
get{return courseld;}
set
{
if(value<0)
courseld=0;
else
courseld=value;
}
}
在get和set方法中可以添加任何我们需要的业务逻辑,从而有效避免非法数据。
04 属性样例
样例代码:
添加个Course1类,代码如下:
//C#2.0时代标准属性;
private int courseId;
public int CourseId
{
get { return courseId; }
set
{
if (value < 0)
courseId = 100;
else
courseId = value;
}
}
//C#3.0时代对标准属性做了简化(以后,标准属性,都可以按下方写)
public string CourseName { get; set; }
//C#4.0时代,增加属性表达式
public int UnitPrice { get; set; } = 189;
public string ShowCourseInfo()
{
return $"账号名称:{CourseName},账号编号:{CourseId},原创数量:{UnitPrice}";
}
}
class TestClass1
{
public void Dowork1()
{
Course1 course = new Course1();
course.CourseId = -100;
course.CourseName = "雷工笔记";
string info = course.ShowCourseInfo();
Console.WriteLine(info);
}
}
Program.cs中代码为:
static void Main(string[] args)
{
TestClass1 testClass1 = new TestClass1();
testClass1.Dowork1();
Console.ReadLine();
}
代码运行结果为:
05 后记
日拱一卒,每天学习一点点,不断更新自己的知识结构,只要学了就是积累,就能更好地应对未来未知的挑战。