优秀的编程知识分享平台

网站首页 > 技术文章 正文

电脑绝技教你22天学精Csharp之第十一天继承补充1

nanyue 2024-08-02 17:59:34 技术文章 8 ℃

01复习

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace _01复习

{

class Program

{

static void Main(string[] args)

{

/*

字符串

* 1、字符串的不可变性

* 2、字符串的一坨方法:

* Split()

* Substring()

* ToUpper()

* ToLower()

* Trim()

* TrimEnd()

* TrimStart()

* Contains()

* Replace()

* IndexOf

* LastIndexof

* StartsWith

* EndsWith

* string.join()

* string.IsNullOrEmpty()

* ToCharArray()

* new string(char[] chs)

*

* 继承:解决类中的代码冗余

* 属性、方法、构造函数 子类默认调用父类无参数的构造函数

* this:

* base:

* new:

*

*

*

*

*/

}

}

}

02里氏转换

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace _02里氏转换

{

class Program

{

static void Main(string[] args)

{

//// 1、里氏转换

////1)、子类可以赋值给父类:如果有一个地方需要一个父类作为参数,我们可以给一个子类代替

// Student s = new Student();

Person p = new Student();//s;

//string str = string.Join("|",new string[] { "1", "2", "3", "4" });

//Console.WriteLine(str);

//Console.ReadKey();

////2)、如果父类中装的是子类对象,那么可以讲这个父类强转为子类对象。

//is的用法

//if (p is Student)

//{

// Student ss = (Student)p;

// ss.StudentSayHello();

//}

//else

//{

// Console.WriteLine("转换失败");

//}

//as的用法

Student t = p as Student;

t.StudentSayHello();

Console.ReadKey();

}

}

public class Person

{

public void PersonSayHello()

{

Console.WriteLine("我是父类");

}

}

public class Student : Person

{

public void StudentSayHello()

{

Console.WriteLine("我是学生");

}

}

public class Teacher : Person

{

public void TeacherSayHello()

{

Console.WriteLine("我是老师");

}

}

}

03里氏转换练习

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace _03里氏转换练习

{

class Program

{

static void Main(string[] args)

{

//创建10个对象 通过一个循环 去调用他们各自打招呼的方法

//Student s = new Student();

//Person p = new Person();

//ShuaiGuo sg = new ShuaiGuo();

Person[] pers = new Person[10];

Random r = new Random();

for (int i = 0; i < pers.Length; i++)

{

int rNumber = r.Next(1, 7);

switch (rNumber)//1-6

{

case 1: pers[i] = new Student();

break;

case 2: pers[i] = new Teacher();

break;

case 3: pers[i] = new ShuaiGuo();

break;

case 4: pers[i] = new MeiLv();

break;

case 5: pers[i] = new YeShou();

break;

case 6: pers[i] = new Person();

break;

}

}

for (int i = 0; i < pers.Length; i++)

{

// pers[i].PersonSayHi();

if (pers[i] is Student)

{

((Student)pers[i]).StudentSayHi();

// pers[i].PersonSayHi();

}

else if (pers[i] is Teacher)

{

((Teacher)pers[i]).TeacherSayHi();

}

else if (pers[i] is ShuaiGuo)

{

((ShuaiGuo)pers[i]).ShuaiGuoSayHi();

}

else if (pers[i] is YeShou)

{

((YeShou)pers[i]).YeShouSayHi();

}

else if (pers[i] is MeiLv)

{

((MeiLv)pers[i]).MeiLvSayHi();

}

else

{

pers[i].PersonSayHi();

}

}

Console.ReadKey();

}

}

public class Person

{

public void PersonSayHi()

{

Console.WriteLine("我是人类");

}

}

public class Student : Person

{

public void StudentSayHi()

{

Console.WriteLine("我是学生");

}

}

public class Teacher : Person

{

public void TeacherSayHi()

{

Console.WriteLine("我是老师");

}

}

public class MeiLv : Person

{

public void MeiLvSayHi()

{

Console.WriteLine("我是镁铝");

}

}

public class ShuaiGuo : Person

{

public void ShuaiGuoSayHi()

{

Console.WriteLine("我是帅锅");

}

}

public class YeShou : Person

{

public void YeShouSayHi()

{

Console.WriteLine("我是野兽");

}

}

}

最近发表
标签列表