我爱Aspx >> C#.Net >> 下面的代码违背了“多态性”!!大家看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数据库一条新的记..[06-12]
如何通过抓包恢复html文件?[06-12]
如何获取本机的子网掩码或者广播..[06-12]
如何在下面的HTML代码中提取超链..[06-12]
struts 数据源配置问题 导致TOMC..[06-12]
电信服务器上面的ftp,网通无法登..[06-12]
关于eclipse的语法提示![06-12]
csdn论坛的效果如何做的,就是左..[06-12]
请问怎么通过javascript来控制in..[06-12]
RichTextBox的问题>>急,在..[06-12]