示例#1
0
        static void Main(string[] args)
        {
            //You get a error here!
            Media media = new Media();

            //But not here...
            Media rock70 = new CasetteMedia(TimeSpan.FromMinutes(90));

            //Because we instance with base class 'Media' we can't access to properties from CasetteMedia class :(
            rock70.ArtistName = "V.A";

            CasetteMedia rock80 = new CasetteMedia(TimeSpan.FromMinutes(90));

            rock80.ArtistName = "V.A";
            rock80.Name       = "Rock Hits 80'";
            rock80.Tracks     = 17;

            //Other way to instance, and initialize properties in a class
            CasetteMedia rock90 = new CasetteMedia()
            {
                Duration   = TimeSpan.FromMinutes(90),
                ArtistName = "V.A",
                Tracks     = 15
            };

            Console.ReadKey();
        }
示例#2
0
        //NOTE: To reuse code, in this project there add the project CSharpCourse.ClassInterfacesAndStructs
        static void Main(string[] args)
        {
            Library<IVideoMedia> videoLibrary = new Library<IVideoMedia>();

            VHSVideo jurasicPark = new VHSVideo(TimeSpan.FromMinutes(80));
            BetaVideo madMax = new BetaVideo(TimeSpan.FromMinutes(74));
            CasetteMedia rock80 = new CasetteMedia();

            videoLibrary.Add(jurasicPark);
            videoLibrary.Add(madMax);

            //We instance a generic Library with type IVideoMedia interface, then, we only include objects with this interface.
            videoLibrary.Add(rock80);

            Console.WriteLine(videoLibrary.CountOfTitles);
            Console.WriteLine(videoLibrary.LastTitleAdded);

            Console.ReadKey();
        }