Synchronization of old projects

Part1
This commit is contained in:
2025-09-30 16:46:01 +08:00
parent 116b65164b
commit 4e1548abe2
167 changed files with 8668 additions and 43 deletions
@@ -0,0 +1,165 @@
namespace Lesson5
{
#region
//class Person
//{
// //特征——成员变量
// private int age;
// private string name;
// //金钱
// private int money;
// //行为——成员方法
// public void Speak()
// {
// }
// //初始化调用——构造函数
// public Person(int age) { }
// public Person(int age, string name) { }
// //释放时调用——析构函数
// ~Person() { }
//}
#endregion
#region
//基本概念
//1.用于保护乘员变量
//2.称为成员属性获取和赋值添加逻辑处理
//3.解决3p的局限性
// public_内外访问
// private_内外访问
// protected_内部和子类访问
// 属性可以让成员变量在外部
// 只能获取 不能修改 或者 只能修改 不能获取
#endregion
#region
// 访问修饰符 属性类型 属性名
// {
// get{}
// set{}
// }
class Person
{
private string name;
private int age;
private int money;
private bool sex;
public Person()
{
sex = true;
}
//属性一般用帕斯卡命名法
public string Name
{
get//必须要有一个返回值
{
//可以在返回之前添加一些逻辑规则
//意味着 这个属性可以获取的内容
return name;
}
set
{
//可以在设置之前添加一些逻辑
// value关键字 用于 表示外部传入的值
name = value;
}
}
//public int Money
//{
// get
// {
// return Value + 5;//通过加减来对数据进行加密
// }
// set
// {
// money = value - 5;
// }
//}
public void TrueGetMoney()
{
Console.WriteLine(money);
}
#endregion
#region get和set钱可以加访问修饰符
// 注意
// 1.默认不加 会使用属性声明时的访问权限
// 2.记得访问修饰符要地狱属性的访问权限
// 3.不能让get和set的访问权限都低于属性的权限
public int Money
{
get
{
return 0;
}
set
{
if (value < 0)
{
Console.WriteLine("钱不能少于0,被设为0");
value = 0;
}
money = value;
}
}
#endregion
#region get和set可以只有一个
public bool Sex
{
get
{
return sex;//可以得不能改
}
}
#endregion
#region
//作用:外部能得不能改的特征
//如果类中有一个特征时希望外部能得到不能改 又没什么特殊处理
//那么可以直接使用自动属性
public float Height//没有height成员变量,但是用Height属性来代替了成员变量(
//自动生成一个地址来存放成员变量,我们也不知道成员变量名是什么,反正用这个属性包裹起来了
//作用是
//可以在get和set前设置访问修饰符,直接修改 设置和访问成员变量 的权限不用再去声明一个变量在写多几行代码
//但是get和set中没法对数据进行处理(加密等)
{
get;
set;
}
#endregion
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
#region 使
Person p = new Person();
p.Name = "Test";
Console.WriteLine(p.Name);
p.Money = 100;
Console.WriteLine(p.Money);
p.TrueGetMoney();
p.Money = -100;
p.TrueGetMoney();
Console.WriteLine(p.Sex);//只能得,不能p.Sex = False来改
#endregion
}
}
//总结
//1.成员属性概念:一般是用来保护成员变量的
//2.成员属性的使用和变量一样 外部用对象点出
//3.get中需要return内容;set中用value表示传入的内容
//4.get和set语句块中可以加逻辑处理
//5.get和set可以加访问修饰符,但是要按照一定的规则进行添加
//6.get和set可以只有一个
//7.自动属性是属性语句块中只有get和set,一般用于 外部能得不饿能改这种情况
}