<reponame>Goldanniyatech/Pocket-Cards﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace CSharp_02_Classes
{
    /// <summary>
    /// Classes & Objects 
    /// 
    /// </summary>
    public class Fruit
    {


        /// <summary> 
        /// Constructors:
        /// 
        /// 
        /// </summary>
        ///

        public Fruit()
        {

        }



        /// <summary> 
        /// Methods: two types of return type method: void and explicit typed (i.e., returning an explicit type)
        /// 
        /// 
        /// </summary>
        ///




        /// <summary>
        /// Method Overloading: writing the same method (i.e., same name) but with different parameters
        /// </summary>
        /// 

        void DriveCar ()
        {

        }

        void DriveCar(int PassengersNumber)
        { 

        }

        void DriveCar (string DestinationName)
        {

        }


    }






    /// <summary>
    /// Abstraction
    /// </summary> 
    abstract class Vehicle
    {
        /// <summary>
        /// 
        /// </summary>
        public abstract void Drive(); 


    }

    /// <summary>
    /// Child Class of Vehicle class
    /// </summary>
    class Car : Vehicle
    {
        public override void Drive ()
        {
            Console.WriteLine("Driving the car"); 
        }
    }


    /// <summary>
    /// Sealed Classes prevents from being inherited by other classes
    /// </summary>
    sealed class Bumpers : Car
    {

    }


}
