今天是我们复习前面学习的第三天,也是在今天我们结束了复习。之前上学时间感觉知识全是生僻的,在生活中很少用到,因此喜欢重复的记忆,而现在学习的知识全是现在乃至未来,将是每天我们使用的,所以就感觉没必要重复记忆啦,只要我记得知识点的存在然后会想起来具体的内容的,可是今天的复习我发现这样的做法还是不对的,也可能只是刚开始啦,太多东西都是硬性的,因此我想通过这篇文章来重新捡起来我忘记的,嘿嘿。下面就来说下具体容易忘记的和做起来题还是比较生硬的吧。
一.构造函数
构造函数方法名和类名一样,没有返回值,连void都不用。构造函数可以有参数,new对象的时候传递函数参数即可,如果不指定构造函数,则类有一个默认的无参构造函数。如果指定了构造函数,则不再有默认的无参构造函数,如果需要无参构造函数,则需要自己来写。构造函数可以重载,也就是有多个参数不同的构造函数。我在学习的过程中知道怎么来写构造函数,但是却忘记啦有“base”这个关键字可以继承传参,只是记得在输出时间可以使用,因此现在来总结下啦,嘿嘿,下面写一道题来加深我的记忆啦。
定义父亲类Father(姓lastName,财产property,血型bloodType),儿子Son类(玩游戏PlayGame方法),女儿Daughter类(跳舞Dance方法),调用父类构造函数(:base())给子类字段赋值。
//定义父亲类Father(姓lastName,财产property,血型bloodType),
class Father
{
public Father(string l, double p, string b)
{
this.lastname = l;
this.property = p;
this.bloodtype = b;
}
string lastname; public string Lastname
{
get { return lastname; }
set { lastname = value; }
}
double property; public double Property
{
get { return property; }
set { property = value; }
}
string bloodtype; public string Bloodtype
{
get { return bloodtype; }
set { bloodtype = value; }
}
}
//女儿Daughter类(跳舞Dance方法),
class Daughter:Father
{
public Daughter(string l, double p, string b):base(l,p,b)
{
}
public void Dance()
{
Console.WriteLine("我的名字是{0},我的血液是{1},有{2}财产,而且我会跳舞",base.Lastname,base.Bloodtype,base.Property);
}
}
//儿子Son类(玩游戏PlayGame方法),
class Son:Father
{
public Son(string l, double p, string b):base(l,p,b)
{
}
public void PlayGame()
{
Console.WriteLine("我的名字是{0},有{1}财产,我的血液是{2},而且我会玩游戏\n", base.Lastname, base.Property, base.Bloodtype);
}
}
class Program
{
//调用父类构造函数(:base())给子类字段赋值
static void Main(string[] args)
{
Son s = new Son("大大", , "A");
s.PlayGame();
Daughter d = new Daughter("笑笑",,"B");
d.Dance();
Console.ReadKey();
}
}
在这个题中有一个父类Father,他有三个属性已经用一个构造函数的形式传参,而在儿子和女儿中也存在这几个属性啊,可以继承啦,但是此时可以用base在构造函数中直接传参,非常方便啦,这个小知识点做题时间我给忽略啦,而且那时间看题时间,还以为就只是在儿子女儿各自的方法输出的时间使用关键字的,嘿嘿。
二.虚方法和抽象方法
五.字符串的处理
对待字符串的处理使用起来还是还是会做题的,但是好多都是使用微软提供给我的方法,而我不是不会调用方法,而是在字符串字符的类型转换上面总是不知道用哪个类型更好,或者应该转换为那个类型,下面就简单的举例说一下啦.
static void Main(string[] args)
{
#region MyRegion
string num = "I love you";
string array = num.Substring(, ).ToLower();
string array1 = num.Substring(, );
string array2 = num.Substring();
var arr = array.ToCharArray().Reverse();
var arr1 = array1.ToCharArray().Reverse();
var arr2 = array2.ToCharArray().Reverse();
foreach (var item in arr)
{
Console.Write("{0}", item);
}
foreach (var item1 in arr1)
{
Console.Write("{0}", item1);
}
foreach (var item2 in arr2)
{
Console.Write("{0}", item2);
}
Console.ReadKey();
像上面这样的题一样,每次做起来这个类型的题,总是不知道该怎么改变其类型啦,其实这个就是昨天做的这个题,在做这个题时间浪费啦好久的时间啊,这个在前面的那几个类型转换上面纠结啊,直到今天才想起来啦我们经常会想到的var关键字,换成了它,感觉简单啦好多,不用再纠结类型转换该使用哪个好啦,也知道在做题时间会用提示需要使用什么类型,但是在这个方面就是没有很好地掌握啦。
六.集合