Monday, December 3, 2012

Inheritance dan Constructor


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Inheritance
{
    abstract class PemainAbstract
    {
        public int JumlahGoal { get; set; }

        public abstract void sliding();
        public void persiapanTanding() { JumlahGoal = 0; }
        public virtual void cetakGoal() { Console.WriteLine("Cetak Goal..."); }
    }


    class PemainSpanyol : PemainAbstract
    {

        public override void sliding()
        {
            Console.WriteLine("Sliding ala Spanyol..");
        }

        /// <summary>
        ///   Ini prosedur Sundul dari tim Spanyol
        /// </summary>
        protected void sundul()
        {
            Console.WriteLine("Sundul ala Spanyol..");
        }
    }

    class PemainRealMadrid: PemainSpanyol
    {
        //http://belajar-c-sharp.blogspot.com/

        private int JumlahGoal = 2;

        public int getJumlahGoal()
        {
            return this.JumlahGoal;
        }

        public PemainRealMadrid()
        {
        }
       
        public PemainRealMadrid(int JumlahGoal)
        {
            Console.WriteLine("Base = " + base.JumlahGoal);
            Console.WriteLine("This = " + this.JumlahGoal);
            this.JumlahGoal = JumlahGoal;
        }

        //public override void sliding() { Console.WriteLine("Ini sliding..");}
        public override void cetakGoal()
        {
            Console.WriteLine("Ini Goal Real Madrid..");
            this.sundul();
            base.cetakGoal();
        }

        public override void sliding()
        {
            Console.WriteLine("Sliding ala Madrid..");
        }

        public void pindah(String klub) { 
            Console.WriteLine("Pindah klub..");
        }
    }


    public class Program2
    {
        static void AksiPemain(PemainRealMadrid pemain)
        {
            pemain.sliding();
            pemain.cetakGoal();
        }

        static void Main(string[] args)
        {
            PemainRealMadrid pemain1 =
                new PemainRealMadrid();
            PemainAbstract pemain2 =
                new PemainRealMadrid(2);
            Console.WriteLine(pemain1.JumlahGoal);
            pemain1.pindah("MU");
               
            AksiPemain(pemain1);
            Console.ReadLine();
        }
    }
}


No comments:

Post a Comment