///<summary>
    ///	OPERATOR OVERLOAD
    ///</summary>
    public static BarTab operator -(BarTab aBarTab1, BarTab aBarTab2)
    {
        BarTab barTab = new BarTab();

        barTab.totalValue = aBarTab1.totalValue - aBarTab2.totalValue;
        return(barTab);
    }
    //--------------------------------------
    //  Properties
    //--------------------------------------

    // GETTER / SETTER
    ///<summary>
    ///	This is a sample getter/setter property.
    ///</summary>

    // PUBLIC
    ///<summary>
    ///	This is a sample public property.
    ///</summary>

    // PUBLIC STATIC
    ///<summary>
    ///	This is a sample public static property.
    ///</summary>

    // PRIVATE
    ///<summary>
    ///	This is a sample private property.
    ///</summary>

    // PRIVATE STATIC
    ///<summary>
    ///	This is a sample private static property.
    ///</summary>


    //--------------------------------------
    //  Methods
    //--------------------------------------
    ///<summary>
    ///	Use this for initialization
    ///</summary>
    void Start()
    {
        //////////////////////////////////////////////////////////////////////////////
        //
        //	OVERLOADING OPERATORS -- MORE 'NATIVE' FUNCTIONALITY FOR YOUR CUSTOM CLASSES
        //
        //	LINK: http://www.tutorialspoint.com/csharp/csharp_operator_overloading.htm
        //
        //	THESE CAN BE OVERLOADED
        //	+, -, !, ~, ++, --
        //	+, -, *, /, %
        //	==, !=, <, >, <=, >=
        //
        //	THESE *CANNOT* BE OVERLOADED
        //	&&, ||
        //	+=, -=, *=, /=, %=
        //	=, ., ?:, ->, new, is, sizeof, typeof
        //
        //////////////////////////////////////////////////////////////////////////////

        //	SETUP
        BarTab sons_bartab      = new BarTab(120.10f);
        BarTab daughters_bartab = new BarTab(14.00f);
        BarTab mothers_bartab   = new BarTab();

        //	TEST OUTPUT
        Debug.Log("sons_bartab		: "+ sons_bartab);
        Debug.Log("daughters_bartab: " + daughters_bartab);
        Debug.Log("mothers_bartab	: "+ mothers_bartab);

        //	TEST OPERATORS
        //
        //	NOTE: THE MAGIC HERE IS THAT '+=' (and other operators) IS USING A CUSTOM (NOT NATIVE) IMPLEMENTATION
        //	EXCELLENT!

        //	TEST OUTPUT
        Debug.Log("sons_bartab		: "+ sons_bartab);
        Debug.Log("daughters_bartab: " + daughters_bartab);
        Debug.Log("mothers_bartab	: "+ mothers_bartab);
        //
        Debug.Log("Greater		: "+ (sons_bartab > daughters_bartab));
        Debug.Log("GreaterEqual: " + (sons_bartab >= daughters_bartab));
        Debug.Log("Lesser		: "+ (sons_bartab < daughters_bartab));
        Debug.Log("LesserEqual: " + (sons_bartab <= daughters_bartab));
        Debug.Log("Equals		: "+ (sons_bartab == daughters_bartab));
        Debug.Log("NotEquals	: "+ (sons_bartab != daughters_bartab));
    }
 public Customer(IBillingStrategy billingStrategy)
 {
     _billingStrategy = billingStrategy;
     Tab = new BarTab();
 }
	//--------------------------------------
	//  Properties
	//--------------------------------------
	
	// GETTER / SETTER
	///<summary>
	///	This is a sample getter/setter property.
	///</summary>

	// PUBLIC
	///<summary>
	///	This is a sample public property.
	///</summary>
	
	// PUBLIC STATIC
	///<summary>
	///	This is a sample public static property.
	///</summary>
	
	// PRIVATE
	///<summary>
	///	This is a sample private property.
	///</summary>
	
	// PRIVATE STATIC
	///<summary>
	///	This is a sample private static property.
	///</summary>
	
	
	//--------------------------------------
	//  Methods
	//--------------------------------------		
	///<summary>
	///	Use this for initialization
	///</summary>
	void Start () 
	{
		
		//////////////////////////////////////////////////////////////////////////////
		//
		//	OVERLOADING OPERATORS -- MORE 'NATIVE' FUNCTIONALITY FOR YOUR CUSTOM CLASSES
		//
		//	LINK: http://www.tutorialspoint.com/csharp/csharp_operator_overloading.htm
		//			
		//	THESE CAN BE OVERLOADED
		//	+, -, !, ~, ++, --	
		//	+, -, *, /, %	
		//	==, !=, <, >, <=, >=	
		//
		//	THESE *CANNOT* BE OVERLOADED
		//	&&, ||
		//	+=, -=, *=, /=, %=	
		//	=, ., ?:, ->, new, is, sizeof, typeof	
		//	
		//////////////////////////////////////////////////////////////////////////////
		
		//	SETUP
		BarTab sons_bartab 		= new BarTab (120.10f);
		BarTab daughters_bartab = new BarTab (14.00f);
		BarTab mothers_bartab 	= new BarTab ();
		
		//	TEST OUTPUT
		Debug.Log ("sons_bartab		: " + sons_bartab);
		Debug.Log ("daughters_bartab: " + daughters_bartab);
		Debug.Log ("mothers_bartab	: " + mothers_bartab);
		
		//	TEST OPERATORS
		//
		//	NOTE: THE MAGIC HERE IS THAT '+=' (and other operators) IS USING A CUSTOM (NOT NATIVE) IMPLEMENTATION
		//	EXCELLENT!
		
		//	TEST OUTPUT
		Debug.Log ("sons_bartab		: " + sons_bartab);
		Debug.Log ("daughters_bartab: " + daughters_bartab);
		Debug.Log ("mothers_bartab	: " + mothers_bartab);
		//
		Debug.Log ("Greater		: " + (sons_bartab >  daughters_bartab)	);
		Debug.Log ("GreaterEqual: " + (sons_bartab >= daughters_bartab)	);
		Debug.Log ("Lesser		: " + (sons_bartab <  daughters_bartab)	);
		Debug.Log ("LesserEqual: "  + (sons_bartab <= daughters_bartab)	);
		Debug.Log ("Equals		: " + (sons_bartab == daughters_bartab)	);
		Debug.Log ("NotEquals	: " + (sons_bartab != daughters_bartab)	);
		


		
	}
Exemple #5
0
	///<summary>
	///	OPERATOR OVERLOAD
	///</summary>
	public static BarTab operator - (BarTab aBarTab1, BarTab aBarTab2)
	{
	  BarTab barTab = new BarTab();
	  barTab.totalValue = aBarTab1.totalValue - aBarTab2.totalValue;
	  return barTab;
	}