C# 高级编程:对象生命周期与接口编程
1. 理解延迟对象实例化
在创建类时,有时代码中的某个成员变量可能永远不会被用到,因为对象用户可能不会调用使用该变量的方法或属性。但如果该成员变量的实例化需要大量内存,这就会成为问题。
例如,编写一个封装数字音乐播放器操作的类,除了常见的 Play() 、 Pause() 和 Stop() 方法外,还希望通过 AllTracks 类返回一个 Song 对象集合,代表设备上的所有数字音乐文件。
以下是相关类的定义:
// 表示一首歌曲
class Song
{
public string Artist { get; set; }
public string TrackName { get; set; }
public double TrackLength { get; set; }
}
// 表示播放器上的所有歌曲
class AllTracks
{
// 媒体播放器最多可容纳 10,000 首歌曲
private Song[] allSongs = new Song[10000];
public AllTracks()
{
// 假设在这里填充 Song 对象数组
Console.WriteLine("Filling up the songs!");
}
}
// 媒体播放器包含一个 AllTracks 对象
c
超级会员免费看
订阅专栏 解锁全文
1371

被折叠的 条评论
为什么被折叠?



