zoukankan      html  css  js  c++  java
  • 第三回 基础才是重中之重——派生类集合与基类集合可以相互转换吗?

    派生类可以直接强转为类基类型,而反之则不可以,它们的集合也具有这种特性

    以下实例是parent是基类,sub是它的派生类,如果有一个sub类型的集合希望转换为parent,那是可以的,它可以广泛的应用于面向接口和面向抽象的编程

    环境中。

    复制代码
     1     class parent
     2     {
     3         public string name { get; set; }
     4     }
     5     class sub : parent { }
     6 
     7              #region 由派生类集合强转成父类集合(正确)
     8             List<sub> sublist = new List<sub> { new sub { name = "zzl" }, new sub { name = "zhz" } };
     9             sublist.Cast<parent>().ToList().ForEach(i => Console.WriteLine(i.name));
    10             #endregion
    11 
    12             #region 由父类集合强转成派生类集合(出错)
    13             List<parent> parentlist = new List<parent> { new sub { name = "zzl" }, new parent { name = "zhz" } };
    14             parentlist.Cast<sub>().ToList().ForEach(i => Console.WriteLine(i.name));
    15             #endregion
    复制代码
  • 相关阅读:
    php面向对象开发的学习
    我的php感悟
    说说面向对象
    session,上传文件
    PHP构造函数的用法分析
    生成图片
    上传文件
    fetch
    ajax2
    ajax1
  • 原文地址:https://www.cnblogs.com/ywsoftware/p/3068438.html
Copyright © 2011-2022 走看看