We call a rose beautiful because it partakes of beauty, according to Plato's Theory of Forms (or my understanding thereof).

Furthermore, we can take any attribute and turn it into a class with -ness at the end, if there doesn't already exist a word denoting such a class. So if the word beauty didn't exist, we could posit the existence of beautiful-ness.

I'm wondering how this might be represented in UML, or in object-orientated programming. I typically think of relationships between objects first in terms of is-a and has-a. But this first step seems to break down with the partakes-of relationship. Is a rose an instance of beauty?

  • 1
    There is some controversy as to the exact relation of material particulars to the Forms they partake in, see SEP, Plato’s Middle Period Metaphysics. On Malcolm's view, rose is an imperfect instance of Beauty and the only perfect instance is Beauty itself, on Vlastos's view the relation is the same in both cases.
    – Conifold
    Apr 25 at 20:22

Some dictionary definitions:

  1. To share some of the properties of something else: "Each tale partakes of its creator's poetic imagination" (Charles Scribner III).

  2. (foll by of) to suggest or have some of the quality (of): music partaking of sadness.

  3. to have the nature or character (usu. fol. by of): feelings partaking of both joy and regret.

I interpret these definitions as follows:

A partakes of B iif A has some of the properties (quality, nature, character etc.) that B has.

If B is a predicate, then A is B. This means that A may also be something else, C or D or whatever, but it is at least B, and so partakes of B.

The copula "is" should thus be understood as denoting the notion of partaking. The predicate expression "x is F" (i.e. Fx) just means that x partakes of F.

A human is animal but has properties that happen to be specific to being human and that therefore is not specified by being animal. Thus, a human is animal and at the same time is something else not implied by being animal, like for example being Aristotle or being the founder of formal logic.

Being a flower implies beauty while beauty does not imply being a flower, just like being Aristotle or being a human implies being animal while the converse is not true.


In oop it's better to be interpreted as has-a relation. We call "A rose is beautiful" should be appropriately modeled as "A rose has beautifulness (property, or predicate using FOL jargon)", where a rose should be an object that partakes in roseness archetypal class template using oop jargon, and beautifulness should be a static constant or numerical variable depending on your choice of further quantification of beautifulness or not. Otherwise, you'll end up with multiple inheritances which some programming language creators regret to have such as Gosling for his Java, nowadays most prefer mixins and interface patterns.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.