面向对象

Posted fei!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象相关的知识,希望对你有一定的参考价值。

多态:

同样都是继承了同一个父类,但是父类中的方法并不使用任何一个子类,那么在这就需要子类重新编写这个方法的主体

1、需要父类同意子类可以重新编写自己的方法
virtual - 虚方法

2、子类只能重写父类允许重写的方法,只能重写虚方法
override - 重写覆盖虚方法

所有的类都可以当做父类,都可以有虚方法

public class Fly
    {
        public virtual string Flying()
        {
            return "我会飞行!";
        }
}
public class Plane : Fly
    {
        public override string Flying()
        {
            return "我喷火就能飞!"; 
        }


    }

抽象类:abstract
它就是为了被继承而出现的

普通的类中所有的方法都变成虚方法,没有人用最基础的方法,全部都需要重写,那么就不需要那么费劲把普通类中的方法主体都写完,而是,直接定义成抽象类,并且都写成抽象方法。

只声明方法的名称和返回类型,具体方法主体是什么,继承过去以后自己去实现。

抽象方法一定是在抽象类中
有抽象方法的类,一定是抽象类

抽象类中不一定只有抽象方法

 

public abstract class Ren
    {
        public abstract string ChiFan();

        public abstract string ShuiJiao();

        public virtual string ShuoHua()
        {
            return "我能说话!";
        }

    }
 public class NanRen : Ren
    {
        public override string ChiFan()
        {
            return "大口吃饭!";
        }

        public override string ShuiJiao()
        {
            return "趴着睡!";
        }
}

接口:interface
就是让类更加完善

都是抽象方法,不能有一点实在东西,全部内容都需要在子类中进行实现

 

以上是关于面向对象的主要内容,如果未能解决你的问题,请参考以下文章

面向面试编程代码片段之GC

PHP面向对象之选择工厂和更新工厂

Java中面向对象的三大特性之封装

python之路之前没搞明白4面向对象(封装)

Scala的面向对象与函数编程

Python面向对象学习之八,装饰器