类
在类里必须有字段和属性
例如:
蓝色代表的实际上就是一个构造函数
HeromyHero =newHero(1);//在主函数里实例化一个英雄类并给参数
myHero.Fight();//调用打架方法
public class Hero//定义一个英雄类,在类里一般有字段,属性,方法,构造函数
{
private string name;//英雄的名字字段
public string Name//英雄名字的属性,字段一般是小写,属性一般是首字母大写
{
get {returnname; }//属性的构造器get和set
set { name =value; }
}
publicvoidFight()//定义一个返回值为空的打架方法并在主函数里调用它
{
Console.WriteLine("英雄打架");
}
方法的重载就是在方法名的括号里有多个的参数
决定方法是否构成重载的3个条件:必须同一个类里,方法名必须相同,参数可以不同。
public Hero() //构造函数,构造函数可以有多个
{
name=“英雄”;
Console.WriteLine("我的名字是“,name);
}
publicHero(intnum)//带参数的构造函数,在主函数里实例化的时候要给参数给值
{
if(num == 1)
{
life = 100;
Console.WriteLine("这是一个普通英雄!");
}
elseif(num == 2)
{
life = 200;
Console.WriteLine("这是一个高级英雄!");
}
~Hero()//定义一个英雄类的析构函数,析构函数总是在最后出现,析构函数有且只有一个
{
Console.WriteLine("英雄类已经创建完毕!");
}
结构体和类差不多,只不过是类属于引用类型,而值属于值类型
类的关键词是CLASS,而结构体的关键字是STRUCT
类的继承
//定义一个基类People,基类中有eat和sleep两个方法。另外分别定义两个类//Student和Worker,在Main函数中,调用定义的方法。
子类在继承父类时可以有自己的字段,属性,方法等。
类的继承里字段必须是公有的,不嫩滑为私有。若为私有就不能进行调用。
namespace example9._
{
class Program
{
static void Main(string[] args)//主函数
{
People peo = new People();//实例化People
peo.eat();//调用人吃的方法
peo.sleep();//调用睡觉的方法
Student stu = new Student();//实例化Student
stu.eat();//调用学生吃的方法
Worker wor = new Worker();//实例化Worker
wor.sleep();//调工人用睡觉的方法
}
}
public class People //基类People,也可以说是父类
{
public void eat()//给人一个吃饭的方法
{
Console.WriteLine("开始吃饭了!");
}
public void sleep()//给人一个睡觉的方法
{
Console.WriteLine("现在是睡觉的时间!");
}
}
public class Student : People//学生类继承人类,等于就是把父类People里的东西继承给子类学生。这样学生也有了吃饭睡觉的方法
{
}
public class Worker : People//工人类继承人类,等于就是把父类People里的东西继承给子类工人。这样工人也有了吃饭睡觉的方法
{
}
}
using System;
using System.Collections.Generic;
using System.Text;
/*1.用C#编写一个程序,使用Employee和Programmer两个实体来说明一个公司的继承.
* Employee具有姓名和学历等属性,需要提供方法实现以接收和显示这些属性值.
* Programmer实体具有代表其技能集的属性,这些属性表明程序员在编程语言、操作系统和数据库方面的专业知识.
*同样地,需要提供方法实现以接收和显示这些属性的值*/
namespace example9._
{
class Program
{
static voidMain(string[] args)
{
//Employer myEmployer = new Employer();//实例化Employer
//myEmployer.MyEmployer();//调用MyEmployer()方法
Programer myProgramer = new Programer();//实例化Programer
myProgramer.MyProgramer();//调用MyEmployer()方法
Console.WriteLine("姓名:{0}\t学历:{1}\t专业:{2}\t技能职称:{3}.",myProgramer.Name,myProgramer.Graduation,myProgramer.Professional,myProgramer.Technological);
Console.ReadLine();
}
}
/// <summary>
///定义一个Employer类实现对属性的设置
/// </summary>
public class Employer
{//定义Employer的字段,属性和方法
private string _name;
public string Name
{
get { return _name; }
set { _name=value; }
}
private string _graduation;
public string Graduation
{
get { return _graduation; }