CSC/ECE 517 Fall 2011/ch1 1h ps: Difference between revisions
No edit summary |
No edit summary |
||
Line 79: | Line 79: | ||
|ABAP (Advanced Business Application Programming) | |ABAP (Advanced Business Application Programming) | ||
|CALL METHOD <meth> EXPORTING... <ii> =.<f i>... | |CALL METHOD <meth> EXPORTING... <ii> =.<f i>... | ||
IMPORTING... <ei> =.<g i>... | |||
CHANGING ... <ci> =.<f i>... | |||
RECEIVING r = h | |||
EXCEPTIONS... <ei> = rc i... | |||
|<b>data</b> field <b>type</b> type | |<b>data</b> field <b>type</b> type | ||
|Same as other methods with the only difference that they start with SET or GET | |Same as other methods with the only difference that they start with SET or GET |
Revision as of 00:29, 8 September 2011
Common Attribute/Member Syntax
Different object oriented programming languages include different ways of accessing the member variables and methods. This page discusses the various usages and their advantages and disadvantages.
Introduction
The purpose of Object Oriented Programming is to make programs model things the way people think or deal with the world i.e it's modeled around data rather than logic. Objects form the basis of OOP. Let us now look at objects, their manipulation and the ways to do so.
Objects - Attributes and Methods
In the above pseudo code, the attributes define the object and the methods provide a way of achieving the desired functionality from that object. The methods use the attributes to manipulate the object and achieve the functionality. From this we can observe that this manipulation is the very essence of programming using objects. Therefore the access of attributes and way of defining method calls very important in OOP.
Method call / Instance Variable reference Syntax
A running debate in O-O languages is whether method calls and instance-variable references should have the same syntax. Different programming languages implement this in different ways. Let's look at them by examples.
Same Syntax
Languages like Ruby use the same syntax for method calls and variable references. There is no distinction between these. We can see this in the example below:
class Song def duration=(newDuration) @duration = newDuration end end aSong = Song.new("Bicylops", "Fleck", 260) aSong.duration » 260 aSong.duration = 257 # set attribute with updated value aSong.duration » 257
This makes it simpler for the programmer to code. Also, it presents uniformity in the code.
Differing Syntax
Languages like Java employ different syntax for method calls and variable references as seen in this example below:
class Song{ int duration; Song(){} void setDuration(int dur){ duration = dur; } } Song sng = new Song(); sng.setDuration(260); System.out.println("Song duration = "+sng.duration);
As seen above, a method is always called using parenthesis, within which arguments may be included if required. However, instance variable is accessed directly.
Comparison of syntax between various Programming Languages
The usage syntax of methods, instance variables, getters and setters is in the table below
Programming Languages | Method call | Fields/Attributes | Getter / Setter | Comparison |
---|---|---|---|---|
ABAP (Advanced Business Application Programming) | CALL METHOD <meth> EXPORTING... <ii> =.<f i>...
IMPORTING... <ei> =.<g i>... CHANGING ... <ci> =.<f i>... RECEIVING r = h EXCEPTIONS... <ei> = rc i... |
data field type type | Same as other methods with the only difference that they start with SET or GET | Syntax is different for method calls and instance-variable reference |