C#:面向对象、权限修饰符、属性、实例化、构造方法、析构方法、静态修饰符

面向对象

把具有相同属性与行为的实例抽象成一个类,这就是面向对象。
例如:
·  对人类的属性与行为进行抽象,
  属性:姓名,身高,体重,年龄,爱好等。
  行为:睡觉,吃饭,跑步,跳跃等。

class person{
	                    // 变量
	string name;        // 姓名
	int age;            // 年龄
	float height;       // 身高
	float weight;       // 体重
	string[] interest;  // 爱好
	          // 行为
	void eat()
	{
		// 吃饭
	}
	void sleep()
	{
		// 睡觉
	}
	void run()
	{
		// 跑步
	}
	void jump()
	{
		// 跳跃
	}
}

权限修饰符

public 公共的,所有对象都可以访问
private 私有的,对象本身内部可以访问
protected 被保护的,该类与子类对象可以访问
internal 内部的,同一个程序集中的对象可以访问
注:
1.在类的定义中不加修饰符时,默认为private(私有的)。
2.所以在类的定义中记得添加修饰符。

类的实例化

注:

1.在实例化的过程中,有可能会将类中的变量赋上错误的值或是不小心误改了值;所以建议把变量的权限设为私有(私有的变量首字母建议小写,便与区分)
2.设为私有后应当写一个set()与get()的方法,用于调用该变量。

 class person{
	                    // 变量
	private string name;     
	private int age;            
	public float Height;       
	public float Weight;       
	public string[] Interest;  
	public void SetName(string name)	//给姓名赋值
	{
		this.name = name ;
	}
	public GetName()	//获取姓名
	{
		return this.name;
	}
	public SetAge(int value)	//给年龄赋值
	{
			// 防止年龄超过一定范围
		if(value > 120)
		{
			value = 120 ;
		}
		if( value < 0)
		{
			value = 0 ;
		}
		age = value ;
	}
	public int GetAge()	//获取年龄
	{
		return this.age;
	}

实例化的过程

//在方法中
person luren = new person();
luren.SetName("路人");
luren.SetAge(20);
luren.Interset = new string[]{ " 恰" ,“ 耍” , "碎觉"  };
属性

C#中提供了一种更简便的方法,用于赋值,那就是属性。

  class person{
	                    // 变量
	private string name;     
	private int age;            
	public float Height;       
	public float Weight;       
	public string[] Interest;  
			//属性
	publid string Name { set ; get; }	//这是属性的默认格式的写法,它的默认格式就是没有(if)判断语句的Age属性
	public int Age
	{
		set 
		{
			if(value > 120)
			{
				value = 120 ;
			}
			if( value < 0)
			{
				value = 0 ;
			}
			age = value;	 //value 就是外界传进来的值
		}
		get
		{
			return age;
		}
	}
	}

使用属性的实例化

 //在方法中
person luren = new person();
luren.Name = "路人";			// 当属性在等号左侧是使用的是set方法,而等号右侧的便是传入内部的值。
luren.Age = 20;
luren.Interset = new string[]{ " 恰" ,“ 耍” , "碎觉"  };
Console.WriteLine("姓名" + luren.Name);			//此时调用get方法,输出值。
Consloe.WriteLine("年龄" + luren.Age);
Console.Read();

构造方法

用于初始化类的方法,且该方法与类同名。在实例化类的同时调用了该方法。
例:

  class person{
	                    // 变量
	private string name;     
	private int age;            
	public float Height;       
	public float Weight;       
	public string[] Interest;
	private string status; // 生命状态  
			//构造方法
	public person ()
	{
		name = "无名氏";
		age = 0;
		status = "有生命" ;
	}
}

析构方法

在实例化的对象被销毁时,调用该方法。该方法没有权限修饰符,因为不需要被外界调用。需要用到’~'符号。
例:

 class person{
                      // 变量
  private string name;     
  private int age;            
  public float Height;       
  public float Weight;       
  public string[] Interest;  
  		//析构方法
   ~person ()
  {
  	status = “已死亡” ;
  }
}

注:

  1. 对象在没有变量代表时,就会没C#的垃圾内存回收方法个销毁(当变量luren = null;时原来名字为路人的对象可以被销毁)。
  2. C#的垃圾内存回收方法是每隔一段时间才会执行一次。
  3. 可用GC.Collect()强制执行垃圾内存回收方法。

静态修饰符

       'static’是静态修饰符。被它修饰的变量与方法被称为静态变量/方法。静态变量/方法是可以直接用类名调用的。
      例:
person类

  class person{
                      // 变量
  public string name;     
  public int age;            
  public float Height;       
  public float Weight;      
  public static bool status;   //静态变量status用于判断人类的状态(true:有生命;false:已死亡;)
  public static void sleep()
  {
  	// 静态方法sleep() 
  }
  public void eat()
  {
  	// 一般方法
  }
}

调用时

  //在方法中
person luren = new person();
	//一般变量与方法的用法
luren.name = "路人" ;
luren.age = 20 ;
luren.eat();
	//静态变量的用法
person.status = true ;
person.sleep() ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值