package oopintro;

import prog10082.exercises.oop.Cat;

public class TestCat {

    public static void main(String[] args) {
        // cat class documentation is here: https://profwendi.github.io/Cat2020/
        // Cat cat1 = new Cat();
        // Cat cat2 = new Cat("Arti");
        // Cat cat3 = new Cat("Syden","Brown");

        // System.out.println(cat1.catInfo());
        // System.out.println(cat2.catInfo());
        // System.out.println(cat3.catInfo());



        /*
         * Examine the API documentation for the Cat class.
         * It has 3 CONSTRUCTOR METHODS
         * - 3 ways you can construct a cat object:
         * 1. Cat() - creates a default cat
         * 2. Cat(name) - creates a cat with a specific name
         * 3. Cat(name, breed) - creates a cat with a specific name and breed/colour
         * 
         * Create 3 cat objects: one default, one with a specific name, and
         * one with a specific name and breed/colour.
         * Use the same syntax you learned in the previous lesson:
         * ClassName variableName = new ClassName(optionalArguments);
         * 
         * For each cat you have created, display the cat's information on the
         * screen using the Cat's .catInfo() instance method:
         * - invoke .catInfo() and println() its return value
         * 
         * Run and test your program.
         */

        /*
         * Exercise: look at the documentation - how can you feed a cat?
         * Write the code to feed each cat. Use a different "technique"
         * for each of your 3 cats.
         */

        Cat cat1 = new Cat();
        Cat cat2 = new Cat("Mine");
        Cat cat3 = new Cat("main", "Brown");


        System.out.println(cat1.catInfo());
        System.out.println(cat2.catInfo());
        System.out.println(cat3.catInfo());


        System.out.println(cat1.feed());
        System.out.println(cat2.feed(int 4));
        System.out.println(cat3.feed());




        /*
         * Mutator methods or "setters" allow you to change one of the
         * object's data member values. These special methods ensure that
         * you can only give a data member a valid value.
         * If a data member has no mutator method, it's "read-only".
         * All mutator methods start with "set".
         * How many mutator methods does this class have?
         * Try each one to change a characteristic of one of your cats.
         */

        /*
         * Accessor methods or "getters" allow you to read the value inside
         * one of the object's data members. Without these methods, you
         * can't retrieve the value of an object's data members.
         * Accessor methods always start with "get", unless the data
         * member is boolean, in which case it starts with "is".
         * How many accessor methods does this class have? Use each one
         * to print each characteristic of one of your cat objects.
         */

        /*
         * Looking at what you've discovered about the accessors and
         * mutators, how many data members do you think the Cat class
         * has?
         */
    }
}
