[黑马程序员]_构造函数和继承

构造函数是用来创建对象的特殊函数,函数名和类名一样,没有返回值,连void都不用。
构造函数可以有参数,new对象的时候传递函数参数即可。
构造函数可以重载,也就是有多个参数不同的构造函数。
如果不指定构造函数,则类有一个默认的无参构造函数。
如果指定了构造函数,则不再有默认的无参构造函数,如果需要无参构造函数,则需要自己来写。
构造函数用来创建对象,并且可以在构造函数中对对象进行初始化。
class Program
	{
		static void Main(string[] args)
		{
			Person p = new Person();
			Person p1 = new Person("Tom");
			Person p2 = new Person("Tom", 23);
			Console.WriteLine("姓名:{0},年龄{1}", p.Name, p.Age);
			Console.WriteLine("姓名:{0},年龄{1}", p1.Name, p1.Age);
			Console.WriteLine("姓名:{0},年龄{1}", p2.Name, p2.Age);
			Console.ReadKey();
                        //输出结果为:姓名:无名氏,年龄0
                        //姓名:Tom,年龄0
                        //姓名:Tom,年龄23
		}
	}
class Person
	{
		public string Name { get; set; }
		public int Age { get; set; }
		public Person()
		{
			Name = "无名氏";
			Age = 0;
		}
		public Person(string name)
		{
			this.Name = name;
		}
		public Person(string name, int age)
		{
			this.Name = name;
			this.Age = age;
		}
	}
继承、封装和多态是面向对象编程的重要性。
其成员被继承的类交基类也叫父类,继承其成员的类交派生类也称子类。
子类只能有一个直接父类,所以C#并不支持多重继承,但一个父类可以有多个直接子类。
继承是可以继承的。
class Person派生出"中国人","中国人"派生出"北京人",则"北京人"会继承"中国人"和"person"中声
明的成员。
class Program
	{
		static void Main(string[] args)
		{
			中国人 cl = new 中国人();
			cl.Height = 170;
			cl.Name = "李小龙";
			cl.SayHello();
			cl.户口 = "北京";
			cl.功夫();
			北京人 kl = new 北京人();
			kl.Height = 160;
			kl.Name = "金三顺";
			kl.做泡菜();
			Person p1 = cl;
			p1.SayHello();
			Person p2 = kl;
			p2.SayHello();
			Console.ReadKey();
			//输出结果:李小龙
			//我打!!
			//吃泡菜
			//李小龙
			//金三顺
		}
	}
	class Person  //父类
	{
		public string Name { get; set; }  //成员变量
		public int Age { get; set; }
		public int Height { get; set; }
		public void SayHello()  //成员函数
		{
			Console.WriteLine("{0}", this.Name);
		}
	}
	class 中国人 : Person
	{
		public string 户口 { get; set; }  //成员变量
		public void 功夫()  //成员函数
		{
			Console.WriteLine("我打!!");
		}
	}
	class 北京人 : 中国人
	{
		public string 饭量 { get; set; }  //成员变量
		public void 做泡菜()  //成员函数
		{
			Console.WriteLine("吃泡菜");
		}
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值