C#中的面向对象

    面向对象是一种设计思想,其实就是将一些功能进行封装,使得这个功能有一个可以使用的实体。比方说狗就可以当成一个对象,其完成的功能是叫。在C#中面向对象也是一样的,其也有三大属性:封装,继承,多态。下面就来看看是如何在C#中实现的。

1、首先先说封装:

     还是以狗叫为例,其功能为叫,按照一般的写法就会在主窗体里面写一下代码就可完成

	Private void button1_Click(object sender,EventArgs e)
	{
		MessageBox.Show("旺");
	}

     但对其进行封装后就会有一下

	class Dog
	{
		public string Shout()
		{
			Return "旺";
		}
	} 
	
	Private void button1_Click(object sender,EventArgs e)
	{
		Dog dog=new Dog();
		MessageBox.Show(dog.Shout());
	}

这样就简单的完成了对狗叫这个能能的封装,这样做是有好处的:

1)将主窗体和功能代码分开,减少耦合

2)可以实现类内部的自由修改而不影响别的部分

3)类对外也有了清晰的可调用的接口

2、其次再来说这个继承:

还以上面的为例,狗除了是狗它还是动物,所以动物所具有的一些东西和功能,狗都有,但是狗有的动物不一定有(比如抓兔子)。这种情况就叫狗继承于动物。用代码展示就是:

class Animal 	
{
	Protected string name="";
	public Animal(string name)
	{
		this.name=name;
	}
}
class Dog:Animal
{
	Public Dog():base(name)
	{}
}

主函数不变,还是上面的,这样狗类就继承了Animal的属性name。当然继承还是有很多好处的,比如避免代码的重复,使得代码得到共享,还有利于修改和扩展。

3、最后再说多态:

所谓多态就是不同的对象可以执行不同的动作。还以叫这个动作为例,执行这个动作的可以是狗叫,猫叫等等。具体代码如下:

	Abstract class Animal 
	{
		//叫这个动作
		protected virtual void Shout();
	}
	class Dog:Animal
	{
		//狗可以执行这个动作
		protected override void shout()
		{
			return "旺";
		}
	}
	class Cat:Animal
	{
		//猫可以执行这个动作
		protected override void shout()
		{
			return "喵";
		}
	}
而在主窗体上则换成以下的:

	Animal  animal1= new Dog();
	Animal animal2= new Cat();
	animal1.shout();
	animal2.shout();

多态在面向对象过程的设计中应用的非常广泛,尤其是在设计模式中,虽然我看了一点,但是基本上都是多态进行实现的。


最后总结一下:

    由于面向对象程序的这些个特性使得面向对象编程有许多的优点符合人们习惯的思维方式,易于维护和功能的扩展,代码重用性好等等一些优点。所以这些特性就是我们学习面型对象编程的基础,其重要性不言而喻。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值