Розьніца паміж вэрсіямі «Кляса (праграмаваньне)»

д
Падсьветка сынтаксу
д (Падсьветка сынтаксу)
=== [[С++]] ===
 
<source lang="cpp">
#include <iostream>
#include <stringiostream>
#include <string>
class Hello
{
std::string what;
 
public:
Hello(const char* s)
: what(s)
{
}
void say()
{
std::cout << "Hello " << what << "!" << std::endl;
}
};
int main( int argc, char** argv )
{
Hello hello_world("world");
hello_world.say();
int main( int argc, char** argv )
return 0;
{
}
Hello hello_world("world");
hello_world.say();
 
return 0;
}
</source>
 
Гэты прыклад паказвае, як на C++ стварыць кляс з назвай «Hello». Ён мае прыватнае радковае поле з назвай «what» і агульны мэтад з назвай «say».
==== Прыклад 1 ====
 
<source lang="java">
public class Example1
public class Example1
{
{
// Гэта кляс на мове Java, ён аўтаматычна пашыраецца ад кляса Object
// Гэта кляс на мове Java, ён аўтаматычна пашыраецца ад кляса Object
public static void main (String args[]) {
public static void main (String args[]) {
System.out.println("Hello world!");
System.out.println("Hello world!");
}
}
}
</source>
 
Гэты прыклад паказвае, як апісаць самы просты Java-кляс.
==== Прыклад 2 ====
 
<source lang="java">
public class Example2 extends Example1
public class Example2 extends Example1
{
{
// Гэта кляс, які пашыраецца ад кляса, створанага ў першым прыкладзе.
// Гэта кляс, які пашыраецца ад кляса, створанага ў першым прыкладзе.
protected int data;
protected int data;
 
public Example2()
public Example2()
{
{
// Гэта канструктар кляса. Ён не вяртае ніякага значэньня.
// Гэта канструктар кляса. Ён не вяртае ніякага значэньня.
data = 1;
} data = 1;
}
 
public int getData()
public int getData()
{
{
return data;
return data;
}
}
 
public void setData(int d)
public void setData(int d)
{
{
data = d;
} data = d;
}
}
</source>
 
Гэты прыклад паказвае кляс, які мае вызначаны канструктар, адно поле дадзеных, мэтад атрыманьня доступу да дадзеных (getData) і мэтад зьмяненьня дадзеных (setData) для поля. Ён пашырае кляс, прыведзены ў папярэднім прыкладзе. У Java усе клясы аўтаматычна пашыраюць кляс Object. Гэта стварае магчымаць пісаць унівэрсальны код, які можа працаваць з аб'ектамі любога тыпу.
=== [[PHP]] ===
==== Прыклад 1 ====
<source lang="php">
<?php
<?php
class A {
class A {
public function foo() {
public function if (issetfoo($this)) {
if echo '(isset($this)) is defined (';{
echo get_class('$this) is defined (';
echo "get_class($this)\n";
} else { echo ")\n";
} else {
echo "\$this is not defined.\n";
echo "\$this is not defined.\n";
}
}
}
}
?>
?>
</source>
 
==== Прыклад 2 ====
<source lang="php">
<?php
<?php
class date {
class date {
 
var $date;
var $date;
 
function __construct() {
function __construct() {
$this->date = date('c');
$this->date = date('c');
}
}
 
private function getDate() {
private function getDate() {
return $this->date;
return $this->date;
}
}
 
public function printDate() {
public function printDate() {
echo 'Todays Date is ' . $this->getDate() . '\n';
echo 'Todays Date is ' . $this->getDate() . '\n';
}
}
}
?>
?>
</source>
 
=== [[C#]] ===
==== Прыклад 1 ====
<source lang="csharp">
using System;
using System;
public class Program
{
public static void Main(string[] args)
{
System.Console.WriteLine("Hello world!");
}
}
</source>
 
Гэты прыклад дэманструе традыцыйна прыклад «Hello world!» на мове [[C#]]. Кляс Program складаецца з адзінага статычнага мэтада Main(), які выклікае System.Console.WriteLine, каб вывесьці тэкст на кансоль.
 
==== Прыклад 2 ====
<source lang="csharp">
using System;
using System;
public class Hello
{
private string what;
public Hello(string s)
{
what = s;
}
public void Say()
{
Console.WriteLine("Hello " + what + "!");
}
}
 
public class Program
public class Program
{
{
public static void Main(string[] args)
public static void Main(string[] args)
{
{
Hello helloWorld = new Hello("world");
Hello helloWorld.Say(); //= выводзіцьnew Hello("Hello world!" на кансоль);
helloWorld.Say(); // выводзіць "Hello world!" на кансоль
}
}
}
}
</source>
 
Гэта згаданы вышэй прыклад на мове C++, перапісаны на мове C#. Кляс, які называецца Hello, ствараецца канструктарам, які прымае радковы парамэтар. Калі выклікаецца мэтад Say(), экзэмпляр кляса Hello выведзе «Hello {what}!» на кансоль. Тут варта зьвярнуць увагу на тое, што мэтад Main() (кропка ўваходу) утрымліваецца ў самім клясе.
 
=== Object Pascal/[[Delphi]] ===
<source lang="delphi">
type
type
THello = class(TObject)
THello = class(TObject)
private
private
FWhat: string;
FWhat: string;
public
public
procedure Hello(s:string);
procedure SayHello(s:string);
procedure Say
end;
end;
procedure THello.Hello(s:string);
begin
FWhat := s;
end;
procedure THello.Say;
begin
WriteLn('Hello '+FWhat+'!');
end;
procedure SayHello;
begin
with THello.Create do
begin
Hello('world');
Say;
Free
end
end;
</source>
 
=== [[Oberon-2]] ===
18 193

зьмены