深入学习方法和属性

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37508531/article/details/84704779

前言

  我们之前都学习过:属性和方法,相信大家都知道他们的区别,那现在一起来跟着小编来走一下这些你可能不了解的知识点。

方法

  给大家1分钟的思考时间,方法如何写。。。。。。

  好了,不管大家有没有思考出来,现在我来公布答案喽!

 访问修饰符 返回类型 方法名(){ }

  再给大家1分钟的思考时间,方法是用来干什么的

  没错,方法就是完成一个功能,查询是否正在上机的方法就是完成了查询是否正在上机的功能。那我需要完成一个功能,是否可能会需要一些“工具”,就像查询是否正在上机,我是不是需要知道卡号,然后再去查这个卡号是不是正在上机。

  这个卡号就是写在“()”里的参数。那作为参数的“卡号”是形参还是实参呢?

  实参 OR 形参

  还是接着上面的例子来:我需要查询是否正在上机,在Facade层中我有了这样的一个方法:

	public DataTable InquiryIsOnline(Entity.UserInfo UserInfo)
        {
        	return;
        }

  “()”里面写的是参数,这个是实体类型的UserInfo(当然UserInfo也可以换成其他的东西),它表明我需要一个Entity.UserInfo类型的参数,是形式上的参数

  接下来我们看U层的调用:

      Entity.UserInfo user = new Entity.UserInfo();
      
      Facade.LineFacade faca = new Facade.LineFacade();

      DataTable tab = faca.InquiryIsOnline(user);

  实例化外观层,调外观层中的方法,去执行我要查询的功能,“()”里也有一个参数user,这个user就是Entity.UserInfo类型的,并且是我传过去去执行我的功能的参数,是实际的参数

  Entity

  通过上面的例子可以发现,我的参数需要是Entity.UserInfo类型的(重构后的大家都知道,Entity.UserInfo是我们自己写的一个实体类,一般情况下一个实体类对应数据库中的一张表,且类型一样),那我为什么需要传递Entity类型的呢?可不可以传其他类型的呢?换个说法,重构中的Entity起到了什么作用

  参数是写在方法中的“()”里进行传递的,我们不妨把这个看成是方法的两只手,如果我现在需要传一个参数“卡号”,可以不通过Entity直接传;现在我们又需要传递一个“学号”,两个参数也可以直接传,那现在我们又需要传递参数“姓名”“年龄”“专业”,5个参数一起传,因为只有两只手,可能会出现丢值的情况。但是你把这5个参数都放到一个袋子里,直接提着袋子来回传,岂不快哉!所以这里的Entity相当于一个袋子的作用!

  实例化

  对类A进行实例化:

A a = new A();

  那这里的A()是什么呢?没错就是构造方法(函数),如果()里有参数,就是给对象进行赋值。而且调用方法前都有“=”

属性

  属性就不用多说了吧,直接来举一个小例子:

private int shoutNum=3;          //声明一个内部字段,注意是private,默认叫的次数是3
public int ShoutNum         //ShoutNum属性,注意是public,当中有两个方法,get读值,set赋值
{
	get
	{
		return shoutNum;
	}
	set
	{
		shoutNum=value;
	}	
}

方法与属性的区别

  1)属性是可以赋值的,而方法是用来传值、传参的,方法也有返回值。
  2)方法有两只小手。

大结局

  通过这次的“夜话方法和属性”,对其了解的更深刻了,知识是需要重复学习的,对于这些需要多次重复学习的知识,打好基础是很重要的。

猜你喜欢

转载自blog.csdn.net/m0_37508531/article/details/84704779