• λ我爱Aspx >> C#.Net >> 下面的代码违背了“多态性”!!大家看
  • 下面的代码违背了“多态性”!!大家看

  • :aspxer  Դ:csdn  :2007-6-12 3:44:09  ؼ:
  • Imports System.IO

    Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Dim a As TextWriter = File.AppendText("c:\txt.txt")‘这里我用TextWriter竟然也行?!但是在MSDN里说的是:(看注释1:)

    a.WriteLine("这些是追加的文本")

    a.Close()

    MsgBox("追加成功")

    End Sub

    End Class

    =========================================

    注释1:

    Public Shared Function AppendText ( path As String ) As StreamWriter

    这里的返回值是一个StreamWriter类型值,按照多态性,使用StreamWriter的父类textwriter肯定是不行的,但VB2005却没提示错误,代码也正常运行了,为什么呢?

    按照正常的思维:

    StreamWriter肯定能当textwriter类型来用,但是反过来就不行,也就是说父类并不继承子类的特征

    希望高人给解答,

    谢谢了

    第2楼. 由 lzmtw 于 2007-6-9 21:31:23 发表

    是你颠倒过来了

    第3楼. 由 lzmtw 于 2007-6-9 21:33:01 发表

    我就摘你自己所说的,自相矛盾:

    StreamWriter的父类textwriter

    StreamWriter肯定能当textwriter类型来用

    Ҷƪл˵?
  • һƪ请问以下代码定义的函数实现什莫
    һƪ请教:当我insert数据库一条新的记录的时候,我怎样取到这条记录自动生成的ID值?