खैर, पर्ल आसान है, लेकिन मैं अन्य भाषाओं में जंगली हूं, इसलिए मैं उनके साथ थोड़ा अपडेट करूँगा।
#!/usr/bin/perl
package Person;
use strict;
use warnings;
use Carp;
sub new {
my $class = shift;
my $self = { @_ };
croak "bad arguments" unless defined $self->{firstname} and defined $self->{lastname};
return bless $self, $class; #this is what makes a reference into an object
}
sub name {
my $self = shift;
return "$self->{firstname} $self->{lastname}";
}
#and here is some code that uses it
package main;
my $person = Person->new(firstname => "Chas.", lastname => "Owens");
print $person->name, "\n";
यहाँ एक ही कक्षा नई मूस शैली वस्तुओं का उपयोग करके लिखा है:: यहाँ एक सादे पर्ल वर्ग है
#!/usr/bin/perl
package Person;
use Moose; #does use strict; use warnings; for you
has firstname => (is => 'rw', isa => 'Str', required => 1);
has lastname => (is => 'rw', isa => 'Str', required => 1);
sub name {
my $self = shift;
return $self->firstname . " " . $self->lastname;
}
#and here is some code that uses it
package main;
my $person = Person->new(firstname => "Chas.", lastname => "Owens");
print $person->name, "\n";
और MooseX :: प्रचार भी अधिक कोड की आवश्यकता पर दूर करता है और चीजों को देखने के लिए अच्छा:
#!/usr/bin/perl
use MooseX::Declare;
class Person {
has firstname => (is => 'rw', isa => 'Str', required => 1);
has lastname => (is => 'rw', isa => 'Str', required => 1);
method name {
return $self->firstname . " " . $self->lastname;
}
}
#and here is some code that uses it
package main;
my $person = Person->new(firstname => "Chas.", lastname => "Owens");
print $person->name, "\n";
एक त्वरित नोट, ये दो वर्ग पहले दो मूस कक्षाएं हैं जिन्हें मैंने कभी लिखा है। और यहाँ है कुछ बहुत ही जंग लगी सी ++ कोड (अपने आप को उस पर कटौती नहीं है या आप एक टिटनेस शॉट की आवश्यकता होगी):
#include <stdio.h>
#include <string.h>
class Person {
char* firstname;
char* lastname;
public:
Person(char* first, char* last) {
firstname = first;
lastname = last;
}
char* name(void) {
int len = strlen(firstname) + strlen(lastname) + 1;
char* name = new char[len];
name[0] = '\0';
strcat(name, firstname);
strcat(name, " ");
strcat(name, lastname);
return name;
}
};
int main(void) {
Person* p = new Person("Chas.", "Owens");
char* name = p->name();
printf("%s\n", name);
delete name;
delete p;
return 0;
}
पर्ल की ओओ सुविधाओं में सबसे कम कमी है ...: पीआई एक साधारण। पीएम मॉड्यूल को देखेगा और देखें कि उन्हें कैसे लागू किया गया है –