商务服务
什么是多态?为什么用多态?有什么好处?多态在什么地方用?
2024-11-26 04:21

什么是多态

什么是多态?为什么用多态?有什么好处?多态在什么地方用?

概念:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。简单的说:就是用基类的引用指向子类的对象。

 

为什么要用多态呢

原因:我们知道,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类;它们的目的都是为了——代码重用。而多态除了代码的复用性外,还可以解决项目中紧偶合的问题,提高程序的可扩展性.。耦合度讲的是模块模块之间,代码代码之间的关联度,通过对系统的分析把他分解成一个一个子模块,子模块提供稳定的接口,达到降低系统耦合度的的目的,模块模块之间尽量使用模块接口访问,而不是随意引用其他模块的成员变量。

 

多态有什么好处

有两个好处

1. 应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性。//继承  2. 派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性。 //多态的真正作用

 

多态在什么地方用

可以用在方法的参数中和方法的返回类型中。

在方法中的参数,请看下面的例子

   public abstract class Driver
    {
        public void run();//让子类来运行
    }
class SBenz : Driver
    {
        public void run()
        {
            Console.WriteLine("Benz在以200迈的速度在run");
        }
    }
 class JD : Driver
    {
        public void run()
        {
            Console.WriteLine("JD is running...");
        }
    }
 class Person
    {
        private Driver driver;
        public Person()
        {
        }
        public Person(Driver driver)
        {
            this.driver = driver;
        }
        public void drive()
        {
            driver.run();
        }
        public void setDriver(Driver driver)
        {//运用参数多态,以后不管买什么车都可以
            this.driver = driver;
        }
   }
static void Main(string[] args)
        {
            Person p = new Person();
            JD jd = new JD();//刚开始没钱就买辆JD吧
            p.setDriver(jd);
            p.drive();
            SBenz benz = new SBenz();//有钱换车了
            p.setDriver(benz);
            p.drive();
        }

 

在方法的返回类型中,请看下面的例子

上面的例子中,不管是JD还是Benz都是我们自己直接new出来的.我们可以设计一个工厂类,专门生成汽车

 public class CarFactory
    {
        public Driver factory(String carName)
        {
            if (carName.Equals("JD"))
            {
                return new JD();
            }
            else if (carName.Equals("Benz"))
            {
                return new SBenz();
            }
            else
            {
                Console.WriteLine("对比起,不伺候");
                return null;
            }
        }
    }

    以上就是本篇文章【什么是多态?为什么用多态?有什么好处?多态在什么地方用?】的全部内容了,欢迎阅览 ! 文章地址:http://sicmodule.glev.cn/news/10722.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 歌乐夫资讯移动站 http://sicmodule.glev.cn/mobile/ , 查看更多   
最新新闻
美团点评的无边界陷“四面楚歌”?
出 品 | 异观财经作 者 | 炫夜白雪美团无边界拓展业务线的同时,势必会与携程、京东、拼多多等流量巨头狭路相逢,陷入“四面楚歌
预售仅5.7万,五一档票房垫底,古天乐新片卖不动,问题在哪?
今年五一档不出意外的话,算是提前宣告凉凉了。作为一个长达五天的黄金档期,截止4月27号17点,档期预售总票房竟然只有2253万,
从题分邦第三课桌到未来:沉浸式 AI 自习室,让学习效率飙升 30%!
回首学生时代,那场景依旧历历在目:小小的课桌上,堆积如山的课本几乎将视线完全遮挡,像一座座难以逾越的山丘。午后的阳光毫无
待你学AI智习室:专注力升级,自习效果倍增
在信息爆炸的时代,学习已成为一种随时随地可能进行的活动。然而,面对纷繁复杂的干扰,如何保持高效专注,让自习效果倍增,成为
《悬疑风暴席卷而来:四部年度巨制,你的心跳准备好了吗?》
序章:迷雾深处,悬疑剧热潮再起航在这个充满无限可能的时代,影视作品如同璀璨繁星,照亮了我们的视听世界。而其中,悬疑剧以其
悬疑剧《借命而生》官宣演员阵容!秦昊主演,还有三大实力派坐镇
秦昊在悬疑剧这个领域真的可以说是一骑绝尘了!从最开始的《隐秘的角落》,到去年的超级大爆款《漫长的季节》。秦昊可以说不出手
央八开播!12集警匪大剧来袭!秦昊主演,4位实力派助阵,能火
森林中迷雾笼罩,在押犯徐文国(韩庚饰)、姚斌彬(史彭元饰)拼命向森林深处跑。夜色中,杜湘东(秦昊饰)等看守以手电照明,在
“五一”假期出游指南:畅享假期,理性消费
2025年“五一”假期临近,旅游市场热度持续攀升。根据携程发布的《“五一”旅游出行预测报告》显示,今年“五一”旅游消费呈现长
泉城“五一”热门打卡地发布,这个假期来济南!一站式将快乐拉满
  生活不止眼前,这一站来济南。欢迎五湖四海的老师儿们,这个假期来济南,一站式将快乐拉满!
价值观 VS 算法:刘强东与王兴的商业哲学对决
    作者 | 韩勇执行总编,20 年 TOP100 企业高管,战略运营专家。来源  |   管理智慧 AI+咨询合作 | 王老师:13801295388