1
$\begingroup$

I'm a newbie in both formal mathematics and theoretical computer science, so please bear with me if you find my question is not properly framed. Object Oriented Modeling seems very useful in defining complex interactions when simulating real world. But it's mostly used in programming. I was wondering if we have a similar concept in mathematics. When we're doing programming, we can understand the concept of "Objects" and "Object Oriented Programming" and just implement it. But do we have formal definition of "Objects" in terms of Set Theory? Or for that matter, any other formal mathematical theory?

Can we implement/ formally define three primary object orient modeling concepts- 1. Encapsulation 2. Inheritance 3. Polymorphism

I know question is too broad, but would really appreciate if you can provide some pointers as well so that I can understand these concepts better.

  • 0
    I claim that category theory provides a partial answer, but amusingly none of the tags you have chosen cover that...2012-05-05
  • 0
    Thanks, I'll add that.. I didn't even know about Category theory.. :), could you please suggest me appropriate tags?2012-05-05
  • 2
    The tags should be about programming languages and semantics.2012-05-05
  • 0
    But I guess those tags aren't available here... (please see my comment on 1st answer)2012-05-05
  • 0
    @AndrejBauer: Maybe forward the question to [cs.SE](http://cs.stackexchange.com), then?2012-05-05
  • 0
    X-Posted [here](http://cstheory.stackexchange.com/questions/11345), voting to close. [Due to lack of reasonable closing reasons, I have chosen Off Topic, even though it is not completely off topic.]2012-05-05

1 Answers 1

2

There is rich literature on mathematical modeling of programming languages, and object-oriented ones are no exception. I would recommend Benjamin Pierce's book "Types and programming languages" as a general introduction to the subject. Robert Harper's "Practical Foundations for Programming Languages" is also very good and available online.

You specifically ask about mathematical models for object-oriented languages. You could look at Abadi's and Cardelli's Theory of Objects and go on from there.

Lastly, you should have asked this question on the cstheory StackExchange.

  • 0
    Thanks, one reason I chose this math platform was to get views from people who are familiar in formal mathematics, as I wanted to know about "formal mathematics" behind "objects" of "object oriented modeling"...2012-05-05
  • 0
    Welcome Andrej!2012-05-05
  • 0
    (also a minor remark, StackExchange is the name for the entire network, you might want to specify which SE website you refer to in your last link)2012-05-05
  • 0
    he referred to theoretical cs..2012-05-05
  • 0
    Neither Stackoverflow nor cstheory.SE are the correct venues, imho, but rather [cs.SE](http://cs.stackexchange.com).2012-05-05
  • 0
    @user30708: Yes. I can use the mouse to hover the cursor all the way to the link and then use my brain to adjust the muscles which direct my eyes to the status bar and see that indeed it is cstheory.SE, I just suggested Andrej would add that explicitly to his answer.2012-05-05
  • 0
    Oops, I meant cstheory. Fixed.2012-05-05