Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Object-oriented programming

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
Chinmoy maity new_way_java
Chinmoy maity new_way_java
Wird geladen in …3
×

Hier ansehen

1 von 14 Anzeige

Weitere Verwandte Inhalte

Ähnlich wie Object-oriented programming (20)

Anzeige

Aktuellste (20)

Anzeige

Object-oriented programming

  1. 1. Programming In object-oriented way
  2. 2. Programming is hard. I need serious math skills I’m a woman / too old / humanitarian Syntax is too complex Studying at University is crucial
  3. 3. Programming is hard? I need serious math skills I’m a woman / too old / humanitarian Syntax is too complex Studying at University is crucial
  4. 4. Statistics 13.90% 82.80% 2.60% 0.70% Market Share iOS Android Windows Phone BlackBerry • Objective-C • Java • .Net (C#, Visual Basic)
  5. 5. Object-oriented programming Representing real world entities by using objects, classes, and basic paradigm
  6. 6. Concepts: Objects and classes • Objects have states and behaviors • Classes = structure for objects Bank account Owner: person Amount: double State: condition suspend () deposit (sum: double) withdraw (sum: double) Class Attributes Operations
  7. 7. Concepts: Inheritance • Key point: reusable code • Provides strong logic and structure
  8. 8. Concepts: Abstraction • Key point: reducing complexity • Provides simplified model of complex reality
  9. 9. Concepts: Polymorphism • Key point: changing behavior without changing code
  10. 10. Concepts: Encapsulation • Key point: internal structure is constant • Provides easier implementation
  11. 11. From easy to hard What can you do?
  12. 12. 1 2 3
  13. 13. How to learn more Step 1: Choose language (maybe, C# ) Step 2: Bing it! Step 3: Create your piece of art
  14. 14. Thanks. Questions?

Hinweis der Redaktion

  • Presume
    Math: only simple algebra is needed, tons of solutions can help in implementing complicated formulas
    University: kind and enthusiastic programmers help to learn it online, learning courses, open sources, community
    Syntax: no necessity to learn it by heart. 1 – you have access to all references, 2 – you will write the same things million times
    Woman thing: Ada Lovelace! Programming doesn’t require any specific skills or opportunities (doesn’t depend on gender, age, background)

    You are developing, i.e. creating new things, spawning stuff from where there was no stuff before. That is the craft, the art. It's inventing things. The manuals for creating can never be complete, they will always only be indicative, guiding, but never give you the exact path, because in the end, what you are doing has not been done before. Not exactly, anyway. Developing software, especially complex software, is bound to result in problems, frustration, and the need to think in new ways. Problem solving is the core of the craft, and you need to embrace that it's there, and also accept that you'll never know what form the problem come in. You might want all problems to be algorithmic, but the reality just doesn't work that way - it's just too chaotic and unpredictable. Reality is not elegant or simple. Sometimes documentation is wrong. Sometimes, you run into a weird hardware bug. Sometimes, you spend hours looking for a spelling error that was staring you in the face all the time. That is just the way it is. It is the craft.
  • You are developing, i.e. creating new things, spawning stuff from where there was no stuff before. That is the craft, the art. It's inventing things. The manuals for creating can never be complete, they will always only be indicative, guiding, but never give you the exact path, because in the end, what you are doing has not been done before. Not exactly, anyway. Developing software, especially complex software, is bound to result in problems, frustration, and the need to think in new ways. Problem solving is the core of the craft, and you need to embrace that it's there, and also accept that you'll never know what form the problem come in. You might want all problems to be algorithmic, but the reality just doesn't work that way - it's just too chaotic and unpredictable. Reality is not elegant or simple. Sometimes documentation is wrong. Sometimes, you run into a weird hardware bug. Sometimes, you spend hours looking for a spelling error that was staring you in the face all the time. That is just the way it is. It is the craft.

    … Let’s talk about programming
  • …What exactly is this object-oriented programming?



    http://www.informit.com/articles/article.aspx?p=2036576
  • Reducing complexity by hiding details beneath the surface
  • Objects exchange messages, the process works like commands/operations performing
  • Child-class can redefine methods
    Inherits data types and logical structure
  • Ignoring irrelevant properties and features… relevant to given projects (reusing)
  • Mix related types, create hybrids
    Implement more abstract methods which can be specified later according to needs
  • All fields, properties are private, local, safe. U can access them only by sending the message (running method)
    In computer networking, encapsulation is a method of designing modular communication protocols in which logically separate functions in the network are abstracted from their underlying structures by inclusion or information hiding within higher level objects.
    https://en.wikipedia.org/wiki/Encapsulation_(networking)

×