Employee Class

The following code includes the complete listing of the Employee class, including the overridden methods of the System.Object class. This reviews many of the topics already mentioned in this chapter:

using System;
using System.Collections;

namespace Donis.CSharpBook {
    public class Starter {
        public static void Main() {
            Employee obj1 = new Employee(5678);
            Employee obj2 = new Employee(5678);
            if (obj1 == obj2) {
                Console.WriteLine("equals");
            }
            else {
                Console.WriteLine("not equals");
            }
        }
    }

    class Employee {

        public Employee(int id) {
            if ((id < 1000) || (id > 9999)) {
                throw new Exception(
                    "Invalid Employee ID");
            }

            propID = id;
        }

        public static bool operator==(Employee obj1, Employee obj2) {
           return obj1.Equals(obj2);
        }

        public static bool operator!=(Employee obj1, Employee obj2) {
           return !obj1.Equals(obj2);
        }

        public override bool Equals(object obj) {
            Employee _obj = obj as Employee;

            if (obj == null) {
                return false;
            }
            return this.GetHashCode() == _obj.GetHashCode();
        }

        public override int GetHashCode() {
            return EmplID;
        }

        public string FullName {
            get {
                return propFirst + " " +
                    propLast;
            }
        }

        private string propFirst;
        public string First {
            get {
                return propFirst;
            }
            set {
                propFirst = value;
            }
        }

        private string propLast;
        public string Last {
            get {
                return propLast;
            }
            set {
                propLast = value;
            }
        }

        private readonly int propID;
        public int EmplID {
            get {
                return propID;
            }
        }

        public override string ToString() {
            return FullName;
        }
    }
}
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.21.46.78