Object-Oriented Languages
Apa yang benar-benar membuat sebuah bahasa pemrograman yang berorientasi objek? Dan, ketika kapan object oritented benar-benar mulai? Banyak orang menunjuk ke awal tahun 1960-an sebagaimana Simula-67 memperkenalkan konsep obyek.
Simula
Seperti namanya, Simula telah dibuat untuk membantu dalam simulasi. Ini bukan sebuah kebetulan bahwa biasanya model simulasi system dunia nyata. Banyak dari sistem dunia nyata yang terdapat ratusan, atau ribuan, bagian dari interaksi.
Awal versi bahasa, Simula-1, telah diperkenalkan pada tahun 1966. Modul program yang ditetapkan oleh Simula yang tidak didasarkan pada prosedur, tetapi benar-benar pada objek. Simula memiliki novel cara memasang objek, sehingga setiap objek memiliki perilaku dan data.
Smalltalk
Mempertimbangkan banyak hal yang pertama adalah benar-benar OO bahasa Smalltalk, dikembangkan di Kelompok Belajar Penelitian Xerox di Palo Alto's Research Center pada awal tahun 1970-an. Di luar, semuanya sudah benar-benar sebuah objek yang memaksa terjadinya paradigma yang OO. Ia adalah hampir mustahil untuk menulis sebuah program di luar yang tidak OO. Ini bukan untuk kasus lain yang mendukung bahasa objek, seperti C + + dan Visual Basic (dan Java, untuk yang lain).
C++
C + + ini berakar pada sebuah proyek untuk mensimulasikan perangkat lunak yang berjalan pada sistem didistribusikan. Simulator ini, sebenarnya ditulis dalam Simula, adalah dimana kepentingannya Bjarne Stroustrup dari ide menggabungkan beberapa fitur Simula dengan sintaks yang digunakan oleh C.
Ketika bekerja di Bell, Stroustrup melakukan kontak pribadi dengan orang-orang seperti Brian Kernighan dan Dennis Ritchie, yang menulis buku tentang definitif C. Bila awal simulator ditulis dalam Simula gagal, Stroustrup memutuskan untuk menulis ulang dalam C disebut BCPL pendahulunya.
C + + pada awalnya dilaksanakan pada tahun 1982 dengan nama C dengan Kelas. Sebagai nama menyarankan, yang paling penting konsep dengan Kelas C adalah penambahan kelas. Kelas memberikan konsep encapsulation sekarang diperlukan dengan bahasa OO.
Java
Asal Java di elektronik konsumen. Pada 1991, Sun Microsystems mulai menyelidiki bagaimana mungkin memanfaatkan pertumbuhan pasar ini. Beberapa saat kemudian, James Gosling telah menyelidiki kemungkinan membuat hardware-platform perangkat lunak independen hanya untuk tujuan ini. Pada awalnya, ia berusaha untuk menggunakan C + +, tetapi segera ditinggalkan C + + dan memulai penciptaan yang baru dia alih bahasa Oak.
tahun 1995, Java beta 1 telah dirilis, dan browser Netscape Navigator 2,0 menghimpun Java. Java 1,0 secara resmi diluncurkan pada bulan Januari 1996. Selama beberapa tahun terakhir, Java telah berkembang ke dalam rilis Java 2 Platform Standard Edition 6,0 serta platform lainnya seperti Enterprise Edition (J2EE) untuk perusahaan / server pasar dan Micro Edition (J2ME) untuk mobile dan nirkabel.
.NET
Microsoft awalnya menanggapi popularitas Java dengan memproduksi versi Java disebut Visual J + +. Namun, Microsoft memutuskan respon yang lebih komprehensif. Menggunakan banyak dari groundbreaking konsep Java yang dilaksanakan, Microsoft mengembangkannya disebut bahasa C # yang menjadi dasar bagi perusahaan. NET platform. Seperti dengan Java, C # sangat tergantung pada keberhasilan dan kegagalan sebelumnya bahasa.
.NET development environment meliputi banyak yang benar-benar karakteristik dari beberapa platform lainnya. .NET memperkenalkan banyak konsep yang oleh rilis awal Java. File. NET platform juga membangun atas banyak dari fitur-fitur canggih dari VB6 dan Visual C + + lingkungan.
Visual Basic 6 merupakan salah satu bahasa pemrograman paling populer. Environment program untuk VB6 telah memiliki dampak besar pada nvironment development. VB6 telah berkembang terus ke arah berorientasi objek model hingga akhirnya bergabung dalam daftar bahasa berorientasi objek dengan peluncuran Visual Basic. NET. VB6 tidak sepenuhnya berorientasi objek, tetapi tidak melaksanakan warisan sepenuhnya.
Perbandingan Code
Untuk sisa artikel, saya akan (kebanyakan) membiarkan kode itu sendiri untuk berbicara. Di masa mendatang artikel, Anda akan menjelajahi pemrograman struktur berbagai bahasa pemrograman namun; dalam konteks artikel ini, saya tujuannya adalah agar Anda mengambil contoh berikut dan mengembangkan dasar untuk masing-masing dari tiga bahasa: Jawa, C #, dan VB. NET.
Tiga contoh aplikasi adalah sebagai berikut:
·IntSquare: Satu kelas untuk menghitung kuadrat dari angka.
·Person: Satu kelas untuk mengatur dan mendapatkan nama dan alamat orang.
·Shape: Sebuah hirarki dari kelas yang menghitung luas berbagai bentuk.
Contoh ini adalah langkah pertama dalam membuat proyek-proyek di berbagai program bahasa disajikan.
Pada tahap ini, Anda dapat memeriksa kode hanya agar mendapatkan rasa untuk mengetahui sintaks yang digunakan oleh berbagai bahasa. Hal ini sangat membantu dalam pemrograman class. Seringkali, kelas akan fokus pada satu pelajaran bahasa agar pembangunan alat overhead, tidak menyebut tentang belajar petunjuk bahasa, untuk minimum. Meskipun Anda dapat fokus pada satu bahasa untuk memperkuat konstruksi berorientasi objek, sangat membantu untuk melihat contoh dalam bahasa lain untuk menambah dan memperkuat dasar bahasa yang digunakan dalam kelas.
Setelah Anda memiliki kode yg diperiksa, langkah berikutnya adalah untuk memuat berbagai platform pengembangan sehingga anda dapat mengkompilasi dan menjalankan kode. Pengembangan platform adalah topik yang akan Anda menjelajahi panjang di dalam artikel berikutnya.
Untuk setiap contoh ini, saya memberikan komentar singkat mengenai perintahd dalam kode. Dalam setiap kasus, contoh yang identik-setidaknya dalam fungsi. targetnya adalah untuk memecahkan masalah yang sama dengan masing-masing bahasa.
IntSquare
Dalam contoh IntSquare, fokus, sebagai contoh awal, adalah pada sintaks diperlukan untuk kompilasi dan menjalankan program yang sederhana dalam tiga bahasa. Target di sini adalah cukup sederhana; membuat metode untuk menghitung kuadrat dari angk
Kelas ini memiliki atribut tunggal dan dua methode ( a public interface dan private implementation ).
public class IntSquare {
// private attribute
private int squareValue;
// public interface
public int getSquare (int value) {
squareValue =calculateSquare(value);
return squareValue;
}
// private implementation
private int calculateSquare (int value) {
return value*value;
}
}
Listing 1a: Java Code for IntSquare Class
public class IntSquare {
// private attribute
private int squareValue;
// public interface
public int getSquare (int value) {
squareValue =calculateSquare(value);
return squareValue;
}
// private implementation
private int calculateSquare (int value) {
return value*value;
}
}
Listing 1b: C# Code for IntSquare Class
Public Class IntSquare
Dim squareValue As Integer
Property accessSquareValue() As Integer
Get
Return squareValue
End Get
Set(ByVal Value As Integer)
squareValue = Value
End Set
End Property
Public Function calculateSquare(ByVal Value As Integer) _
As Integer
System.Console.WriteLine(Value)
squareValue = Value * Value
Return squareValue>
End Function
End Class
Listing 1c: VB Code for IntSquare Class
Person
Contoh beirkutnya yaitu pembuatan class Person didalamnya disertakan contoh ilustrasi dari konsep encapsulation pada object oriented.
public class Person{
//Attributes
private String name;
private String address;
//Methods
public String getName(){
return name;
}
public void setName(String n){
name = n;
}
public String getAddress(){
return address;
}
public void setAddress(String adr){
address = adr;
}
}
Listing 2a: Java Code for Person Class
public class Person{
//Attributes
private string name;
private string address;
//Methods
public string getName(){
return name;
}
public void setName(string n){
name = n;
}
public string getAddress(){
return address;
}
public void setAddress(string adr){
address = adr;
}
}
Listing 2b: C# Code for Person Class
Public Class Person
Dim name As String
Dim address As String
Property accessName() As String
Get
Return name
End Get
Set(ByVal Value As String)
name = Value
End Set
End Property
Property accessAddress() As String
Get
Return address
End Get
Set(ByVal Value As String)
address = Value
End Set
End Property
End Class
Shape
Contoh berikutnya yaitu Class Shape yang lebih kompleks yang mengilustrasikan inheritance dari konsep object oriented.
//Shape
public abstract class Shape{
protected double area;
public abstract double getArea();
}
//Rectangle
public class Rectangle extends Shape{
private double length;
private double width;
public Rectangle(double l, double w){
length = l;
width = w;
}
public double getArea() {
area = length*width;
return (area);
}
}
//Circle
public class Circle extends Shape{
private double radius;
public Circle(double r) {
radius = r;
}
public double getArea() {
area = 3.14*(radius*radius);
return (area);
}
}
//TestShape
public class testShape {
public static void main(String args[]) {
Circle circle = new Circle(5);
Rectangle rectangle = new Rectangle(4,5);
}
}
Listing 3a: Java Code for Shape
//Shape
public abstract class Shape{
protected double area;
public abstract double getArea();
}
//Rectangle
public class Rectangle : Shape{
private double length;
private double width;
public Rectangle(double l, double w){
length = l;
width = w;
}
public override double getArea() {
area = length*width;
return (area);
}
}
//Circle
public class Circle : Shape {
private double radius;
public Circle(double r) {
radius = r;
}
public override double getArea() {
area = 3.14*(radius*radius);
return (area);
}
}
//TestShape
public class TestShape {
public static void Main() {
Circle circle = new Circle(5);
Rectangle rectangle = new Rectangle(4,5);
}
}
Listing 3b: C# Code for Shape
Public MustInherit Class Shape
Protected area As Double
Public MustOverride Function getArea() As Double
End Class
Public Class Rectangle
Inherits Shape
Dim length As Double
Dim width As Double
Sub New(ByVal l As Double, ByVal w As Double)
length = l
width = w
End Sub
Public Overrides Function getArea() As Double
area = length * width
Return area
End Function
End Class
Public Class Circle
Inherits Shape
Dim radius As Double
Sub New(ByVal r As Double)
radius = r
End Sub
Public Overrides Function getArea() As Double
area = 3.14 * (radius * radius)
Return area
End Function
End Class
Module Module1
Sub Main()
Dim myCircle As New Circle(2.2)
Dim myRectangle As New Rectangle(2.2, 3.3)
Dim result As Double
result = myCircle.getArea()
System.Console.Write("Circle area = ")
System.Console.WriteLine(result)
result = myRectangle.getArea()
System.Console.Write("Rectangle area = ")
System.Console.WriteLine(result)
System.Console.Read()
End Sub
End Module
Listing 3c: VB Code for Shape
Referensi
http://www.developer.com
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar