Let's say we have in livestocks.py

# livestocks.py stores all livestock classes
class cat()
    ...

class Dog()
    ...

class CanineDistemper(Exception)
    '''
    <<< Buddy = Dog(name = "Buddy")
    <<< raise CanineDistemper(Buddy)  # horrible test code!
    '''
    def __init__(self, dog)
        self.owner = dog # a specific dog
    def __str__(self)
        return "{} has had Canine Distemper".format(self.canine)

One would naturally wonder, since

1. by definition only a canine (a dog) can have CanineDistemper, and
2. in no case can CanineDistemper be raised without specifying which object (canine) is having the problem,

Thus, CanineDistemper is an integral part of Canine class, and one is naturally tempted to defined CanineDistemper inside Canine class.

Let some experienced OOP guy explain a bit if this line of thinking is logical, or impratical. Thanks!

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to