public void Run()
        {
            var jerboa = new Mammal();

            jerboa.Name     = "Jerry";
            jerboa.Weight   = 80;
            jerboa.NrOfLegs = 2;

            var pluto = new Dog();

            pluto.Name     = "Pluto";
            pluto.NrOfLegs = 4;

            var musse = new Cat();

            musse.Name         = "Musse";
            musse.NrOfLegs     = 4;
            musse.FavoriteFish = "Salmon";

            List <Mammal> mams = new List <Mammal>();

            mams.Add(jerboa);
            mams.Add(pluto);
            mams.Add(musse);

            int legs = CountLegs(mams);

            Console.WriteLine($"Total number of legs: {legs}");

            IntroduceMammal(musse);
        }
示例#2
0
    static void Main(string[] args)
    {
        Lion   lion = new Lion();
        Mammal one  = lion; // 부모타입으로 형변환

        one.Move();
    }
示例#3
0
        public static Mammal CreateMammal(MammalSpecies Species)
        {
            Mammal animalObj = null;//Animaltype unknown at this time.

            //Lets determine users choice of animal.
            switch (Species)
            {
            case MammalSpecies.Cat:
                animalObj = new Cat();
                break;

            case MammalSpecies.Dog:
                animalObj = new Dog();
                break;

            case MammalSpecies.Gorilla:
                animalObj = new Gorilla();
                break;

            default:
                Debug.Assert(false, "Not implemented");
                break;
            }

            //Set animal category
            animalObj.Category = CategoryType.Mammal;

            return(animalObj);//Return created instance of object.
        }
示例#4
0
        static void Main(string[] args)
        {
            Mammal one = new Mammal();

            one.Move();

            Lion lion = new Lion();

            lion.Move();

            Whale whale = new Whale();

            whale.Move();

            Human human = new Human();

            human.Move();

            /* 자식이 부모 타입으로 암시적으로 형변환된 경우 */
            /* virtual, override로 선언된 메서드는 다형성이 구현되어 자식의 메서드가 실행됨. */
            one = lion;
            one.Move();

            Mammal two = new Human();

            two.Move();
        }
示例#5
0
        public void AddAnimal(object zoo, object aviary, object animalClass, object detachment, string family, string genus, string species)
        {
            Animal animal = null;

            switch ((animalClass as AnimalClassListElement).Class)
            {
            case AnimalClass.Mammal:
                animal = new Mammal((MammalDetachment)detachment, family, genus, species);
                break;

            case AnimalClass.Bird:
                animal = new Bird((BirdDetachment)detachment, family, genus, species);
                break;

            case AnimalClass.Reptile:
                animal = new Reptile((ReptileDetachment)detachment, family, genus, species);
                break;

            case AnimalClass.Amphibian:
                animal = new Reptile((ReptileDetachment)detachment, family, genus, species);
                break;

            case AnimalClass.Fish:
                animal = new Fish((FishDetachment)detachment, family, genus, species);
                break;
            }
            (zoo as ZooListElement).Zoo.SettleAnimal(animal, (aviary as AviaryListElement).Aviary);
        }
示例#6
0
    public List <Mammal> GetMammalList(Mammal mammal)
    {
        List <Mammal> list = new List <Mammal>();

        if (mammal.GetType() == typeof(Horse))
        {
            for (int x = 0; x < 10; x++)
            {
                list.Add(new Horse());
            }
        }
        else if (mammal.GetType() == typeof(Cow))
        {
            for (int x = 0; x < 10; x++)
            {
                list.Add(new Cow());
            }
        }
        else
        {
            throw new ArgumentOutOfRangeException();
        }

        return(list);
    }
示例#7
0
        private static Mammal TryAnimalCreate(string animalType, string animalName, double animalWeight, string animalLivingRegion, string catBreed)
        {
            Mammal result = null;

            switch (animalType)
            {
            case "Mouse":
                result = new Mouse(animalName, animalType, animalWeight, animalLivingRegion);
                break;

            case "Zebra":
                result = new Zebra(animalName, animalType, animalWeight, animalLivingRegion);
                break;

            case "Cat":
                result = new Cat(animalName, animalType, animalWeight, animalLivingRegion, catBreed);
                break;

            case "Tiger":
                result = new Tiger(animalName, animalType, animalWeight, animalLivingRegion);
                break;
            }

            return(result);
        }
示例#8
0
        static void Main(string[] args)
        {
            Mammal one = new Mammal();

            one.Move();

            Lion lion = new Lion();

            lion.Move();

            Whale whale = new Whale();

            whale.Move();

            Human human = new Human();

            human.Move();

            /* 자식이 부모 타입으로 암시적으로 형변환된 경우 : 오버라이딩된 메소드는 자식의 메소드 실행 → 다형성 구현 */
            one = lion;
            one.Move();

            Mammal two = new Human();

            two.Move();
        }
示例#9
0
        public void TestEvictAnimal()
        {
            var zoo     = new Zoo("name", "address");
            var aviary1 = new Cage(CageType.WithRocks);
            var animal1 = new Mammal(MammalDetachment.Artiodactyla, "family1", "genus1", "species1");

            zoo.AddAviary(aviary1);
            zoo.SettleAnimal(animal1, aviary1);

            //Результат успешного выселения животного
            zoo.EvictAnimal(animal1);
            Assert.AreEqual(0, zoo.GetListOfAnimals().Count);

            //Попытка выселить несуществующее (пустое) животное
            try
            {
                zoo.EvictAnimal(null);
                Assert.Fail();
            }
            catch (ArgumentException) { }

            //Попытка выселить отсутствующее в зоопарке животное
            try
            {
                zoo.EvictAnimal(animal1);
                Assert.Fail();
            }
            catch (ArgumentException) { }
        }
示例#10
0
        public void Run()
        {
            var jerboa = new Mammal();

            jerboa.Name     = "Jerry";
            jerboa.Weight   = 80;
            jerboa.NrOfLegs = 2;
            //jerboa.FavoriteFish = "Salmon"; // don't work
            //jerboa.BarkLevel = 5; // don't work

            var myDog = new Dog();

            myDog.Name     = "Pluto";
            myDog.Weight   = 8000;
            myDog.NrOfLegs = 4;
            //myDog.FavoriteFish = "Salmon"; // don't work
            myDog.BarkLevel = 5;

            var myCat = new Cat();

            myCat.Name         = "Musse";
            myCat.Weight       = 5300;
            myCat.NrOfLegs     = 4;
            myCat.FavoriteFish = "Salmon";
            //myCat.BarkLevel = 5; // don't work
        }
示例#11
0
        static void Main(string[] args)
        {
            Mammal mamalObj = MamalFactory.Mammalmechine.Createmamal(MamalFactory.AnimalSet.zeebrs);

            Console.WriteLine(mamalObj.ReturnAnimal());
            Console.ReadLine();
        }
示例#12
0
        public static Mammal Createmamal(AnimalSet animal)
        {
            Mammal mamal = null;

            switch (animal)
            {
            case AnimalSet.human:
                mamal = new Human();
                return(mamal);

                break;

            case AnimalSet.zeebrs:
                mamal = new Zeebra();
                return(mamal);

                break;

            case AnimalSet.Elephant:
                mamal = new Elephant();
                return(mamal);

                break;

            default:
                mamal = null;
                return(mamal);

                break;
            }
        }
示例#13
0
        public void TestEvictAnimal()
        {
            var aviary = new Yard(YardType.Rock);

            //Успешная попытка выселить существующее животное
            var animal1 = new Mammal(MammalDetachment.Carnivora, "семейство1", "род1", "вид1");

            aviary.SettleAnimal(animal1);
            aviary.EvictAnimal(animal1);
            Assert.AreEqual(0, aviary.GetListOfInhabitants().Count);

            //Неуспешная попытка выселить несуществующее животное
            try
            {
                aviary.EvictAnimal(null);
                Assert.Fail();
            }
            catch (ArgumentException) { }

            //Неуспешная попытка выселить отсутствующее в вольере животное
            try
            {
                aviary.EvictAnimal(animal1);
                Assert.Fail();
            }
            catch (ArgumentException) { }
        }
        private void print_button_Click(object sender, EventArgs e)
        {
            Mammal Nisakas = new Mammal("DOG");
            Person Henkilo = new Person();
            Dog    Koira   = new Dog();

            Nisakas.Name = "Nisakas";
            string testi1 = Nisakas.Name + Environment.NewLine;
            string testi2 = Nisakas.GetMType() + Environment.NewLine;

            Henkilo.Age = 21;
            string testi3 = Henkilo.Age.ToString() + Environment.NewLine;
            string testi4 = Henkilo.GetMType() + Environment.NewLine;

            Henkilo.Name = "Ihminen";
            string testi5 = Henkilo.Name + Environment.NewLine;

            Koira.Owner = "Jussi";
            string testi6 = Koira.Owner + Environment.NewLine;
            string testi7 = Koira.GetMType() + Environment.NewLine;

            Koira.Name = "Koira";
            string testi8 = Koira.Name + Environment.NewLine;
            string syote  = testi1 + testi2 + testi3 + testi4 + testi5 + testi6 + testi7 + testi8;

            textBox1.Text = syote;
        }
示例#15
0
文件: Program.cs 项目: macebob/Demos
        static void Main(string[] args)
        {
            Animal fred = new Mammal();

            fred.NumberOfAppendages = 4;

            Console.WriteLine(fred.NumberOfAppendages);
        }
示例#16
0
 void UseIsOperator(Animal a)
 {
     if (a is Mammal)
     {
         Mammal m = (Mammal)a;
         m.Eat();
     }
 }
        public ActionResult DeleteConfirmed(int id)
        {
            Mammal mammal = db.Mammals.Find(id);

            db.Mammals.Remove(mammal);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public void ImplicitCasting_test()
 {
     Mammal Mammal1 = new Cat();
     Animal Animal1 = new Cat();    // Since Cat inherits from Mammal which inherits from Animal, 3 levels pf hierarchy , any child can masquerade as a base class
     Animal Animal2 = new Mammal(); // since Mammmal inherits from Animal
     //Cat Cat1 = new Animal(); doesnt work
     //Cat Cat2 = new Mammal(); doesnt work
 }
示例#19
0
    public AnimalBase CreateAnAnimal(string speciesName)
    {
        var mammal        = new Mammal(speciesName);
        var mammalDefault = new MammalDefaultClass(speciesName);

        mammal.WalksUpright = mammalDefault.WalksUpright;
        return(mammal);
    }
        public static int MainMethod(string[] args)
        {
            int     ret = 0;
            Mammal  m   = new Mammal();
            dynamic ca  = new C <Animal>();

            ret += w(m, ca, "ManagedTests.DynamicCSharp.Conformance.dynamic.Variance.complex.typeinference001.typeinference001.Animal"); // This now infers mammal. It previously inferred Animal
            return(ret);
        }
示例#21
0
        public void TestGetFullNotation()
        {
            var animal = new Mammal(MammalDetachment.Chiroptera, "Крылановые", "Летучие лисицы", "Сейшельская летучая лисица");

            //Проверка корректности формирования полного наименования животного
            var result = animal.GetFullNotation();

            Assert.AreEqual("Mammal*Chiroptera*Крылановые*Летучие лисицы*Сейшельская летучая лисица", result);
        }
示例#22
0
        public void run()
        {
            Mammal human = MammalFactory.getMammal("Human");

            human.drinkMilk();

            Mammal zeebra = MammalFactory.getMammal("Zeebra");

            zeebra.drinkMilk();
        }
 public ActionResult Edit([Bind(Include = "Animal,UnderwaterSurvivabilty,Pop,Dietry,MammalID")] Mammal mammal)
 {
     if (ModelState.IsValid)
     {
         db.Entry(mammal).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(mammal));
 }
示例#24
0
        static void Main(string[] args)
        {
            Animal animal = new Mammal("Murka", true, 2);

            animal.OnSound += delegate { Console.WriteLine("Mamal"); };
            Console.WriteLine(animal);

            IEnumerable <int> collection = new int[] { 1, 2, 3 };

            Console.ReadKey();
        }
        public ActionResult Create([Bind(Include = "Animal,UnderwaterSurvivabilty,Pop,Dietry,MammalID")] Mammal mammal)
        {
            if (ModelState.IsValid)
            {
                db.Mammals.Add(mammal);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(mammal));
        }
 public ActionResult Edit([Bind(Include = "MammalsID,MammalsName,animalSpecies_animalID,MammalsType,DietryType,PopulationNumber")] Mammal mammal)
 {
     if (ModelState.IsValid)
     {
         db.Entry(mammal).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.animalSpecies_animalID = new SelectList(db.animals, "animalID", "animalID", mammal.animalSpecies_animalID);
     return(View(mammal));
 }
        public void Covariance_MethodGroupToDelegate_CanReturnSameOrSmallerType()
        {
            MammalCreator mammalCreator1 = MakeMammal;
            MammalCreator mammalCreator2 = MakeGiraffe;

            Mammal mammal1 = mammalCreator1();
            Mammal mammal2 = mammalCreator2();

            Assert.NotNull(mammal1);
            Assert.NotNull(mammal2);
        }
示例#28
0
    void Spawn(int i, ObjectType objectType, float z)
    {
        //Select random prefab for instance
        //int prefabIndex = Random.Range(0, objectType == ObjectType.ANIMAL ? animalPrefabs.Length : treesPrefabs.Length);
        int maxLength = 0;

        GameObject[] objectsPrefabs = null;
        switch (objectType)
        {
        case ObjectType.ANIMAL:
            maxLength      = animalPrefabs.Length;
            objectsPrefabs = animalPrefabs;
            break;

        case ObjectType.PLANT:
            maxLength      = treesPrefabs.Length;
            objectsPrefabs = treesPrefabs;
            break;

        case ObjectType.WATER:
            maxLength      = waterPrefabs.Length;
            objectsPrefabs = waterPrefabs;
            break;
        }
        //Select random prefab for instance
        int prefabIndex = Random.Range(0, maxLength);

        //Determine object spawn position
        //Trying to select non-overlapping position
        //calculating distance from generated position to already generated position
        Vector3 spawnPosition = new Vector3();

        do
        {
            spawnPosition = new Vector3(envX + Random.Range(-horizontalDistribution, horizontalDistribution), envY + Random.Range(-verticalDistribution, verticalDistribution), z);
        }while(!(isNotIntersectedWithOthers(i, spawnPosition) || (unsuccessfulAttempts > allowOverlapingAfter && allowOverlapingAfter != 0)));

        generatedObjects[i] = Instantiate(objectsPrefabs[prefabIndex], spawnPosition, transform.rotation) as GameObject;
        generatedObjects[i].transform.parent = transform.parent;


        if (objectType == ObjectType.ANIMAL)
        {
            Mammal mammal = Mammal.Spawn() as Mammal;
            mammal.instObject = generatedObjects[i];
        }
        if (objectType == ObjectType.WATER)
        {
            //задать размер и форму обьекта
            generatedObjects[i].transform.localScale += new Vector3(Random.Range(0f, 2f), Random.Range(0f, 2f), z);
        }
        //generatedObjects [i] = Instantiate (objectType == ObjectType.ANIMAL ? animalPrefabs[prefabIndex] : treesPrefabs [prefabIndex], spawnPosition, transform.rotation) as GameObject;
        //generatedObjects[i].transform.parent = transform.parent;
    }
示例#29
0
            public void Should_be_equal_if_they_refer_to_the_same_object()
            {
                Mammal a = new Mammal
                {
                    HasDiaphragm   = true,
                    HasSweatGlands = true
                };
                Mammal b = a;

                Assert.AreEqual(a, b, "a should be equal to b");
            }
示例#30
0
            public void Should_be_not_equal_if_the_object_to_be_compared_with_is_null()
            {
                Mammal a = new Mammal
                {
                    HasDiaphragm   = true,
                    HasSweatGlands = true
                };
                Mammal b = null;

                Assert.AreNotEqual(a, b, "a should not be equal to b");
            }
示例#31
0
	IEnumerator Start()
	{
		var list = new Mammal[5];
		for (var i = 0; i < list.Length; ++i) {
			if (Random.Range(0, 2) == 0) {
				list[i] = new Monkey();
			} else {
				list[i] = new Human();
			}
		}
		yield return null;

		foreach (var mammal in list) {
			mammal.func();
		}
		yield return null;
	}
示例#32
0
 public virtual void NurseChild(Mammal child)
 {
     child.Eat();
 }