C#之面向对象

   【前言】到现在我们开始接触面对对象的编程语言,面向对象是一种编程的思想,我们不再是按照事情发展的步骤来一步步编程而是抽象出对象,相似的对象多了就会创建类。这样代码的可维护性就大大提高啦!面向对象的思想博大精深,需要我们慢慢的去体会和顿悟,今天我们就来了解一下面向对象的基础知识。


   一、对象

    一切事物皆对象,对象就是可以看到的、听到的、触摸到的、尝到的或闻到的东西。定义是对象是一个自包含的实体,用一组可识别的特细并和行为来标识。

   二、类

    就是具有相同属性和功能的抽象的集合。例如:猫、狗、猪都可以称之为一个类,一个具体的猫就是对象。实例化对象就是创建对象的过程,也就是我们常说的new一个什么。

   三、构造方法(函数)

    对类进行初始化,构造方法和类同名,无返回值,也不需要void

    注意:所有的类都有构造方法,系统默认一个空的构造方法,如果我们自己定义了一个构造方法,那么默认的就失效了。

   四、方法重载

    方法重载提供了创建同名的多个方法的能力,但这些方法需要使用不同的参数类型。刚出生的baby可能还没有来得及起名字,当返回名字的时候就会报错,这时我们就可以重载构造函数,让其返回无名。

    方法重载可在不改变原方法的基础上,新增功能

    方法重写:子类可以以自己的方式实现父类的功能

   五、面向对象的三大特性

    1.封装:每个对象都包含他能进行操作所需要的所有信息,这个特性成为封装,对象不必依赖其他对象来完成自己的操作。就想我们的房子一样,我们随意更换家里的摆设对外部是没有影响的,但是通过窗户和门我们可以和外面的世界连接。

好处:减少耦合、类内部的实现可以自由的修改、类具有清晰的对外接口

    2.继承:继承定义了类如何相互关联,共享特性。继承的工作方式是,定义子类和父类,或叫做基类和派生类,其中子类继承父类的所有特性,还可以定义新的特性。这个更简单啦,猫和狗都继承了哺乳动物的一些特点,但是他们又有各自的特点。

特点:子类拥有父类所有的非private属性和功能;子类可以扩展父类没有的属性和功能;子类可以用自己的方式实现父类的功能(方法重写)。

需要注意的就是继承不可以乱用,继承是一种强耦合的关系,要合理的运用继承。

    3.多态:不同的对象可以执行相同的动作,但要通过自己的代码来执行。比如:猫和狗都继承了动物叫这个特征,但是猫是喵喵叫,而狗是汪汪叫。

注意:子类以父类的身份出现;子类在工作时时以自己的方式实现;子类以父类的身份出现时,子类特有的属性和方法不可以使用。

   六、抽象类

    没有一个具体的对象与之对应,也就是类的抽象。例如:猫、狗、猪等都是哺乳动物,他们都具有一些共同的属性,所以我们就可以抽象出一个动物类,让猫、狗、猪来继承动物类。

    注意:抽象方法类不能实例化;抽象方法是不许被子类重写的方法;如果类中包含抽象方法就必须定义为抽象类;抽象类就是用来被继承的。

   七、接口

    接口是把饮食公共方法和属性组合起来,一封装特定功能的一个集合。

    类是对对象的抽象,抽象类是对类的抽象,接口是对行为的抽象   



   【总结】这些基础概念一定要灵活掌握,这是我们学习面向对象的基础。对这些基础知识熟悉了,学习起设计模式来我们才会更加容易理解。

以上描述都是个人理解,如有不同意见欢迎交流!     

评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值