<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sv">
	<id>https://wiki.linux.se/index.php?action=history&amp;feed=atom&amp;title=Anonyma_klasser</id>
	<title>Anonyma klasser - Versionshistorik</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linux.se/index.php?action=history&amp;feed=atom&amp;title=Anonyma_klasser"/>
	<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=Anonyma_klasser&amp;action=history"/>
	<updated>2026-04-28T22:45:28Z</updated>
	<subtitle>Versionshistorik för denna sida på wikin</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://wiki.linux.se/index.php?title=Anonyma_klasser&amp;diff=3223&amp;oldid=prev</id>
		<title>Admin: /* Sidslut */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=Anonyma_klasser&amp;diff=3223&amp;oldid=prev"/>
		<updated>2024-08-19T05:09:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Sidslut&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;sv&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Äldre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen från 19 augusti 2024 kl. 05.09&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l148&quot;&gt;Rad 148:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Rad 148:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;hr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;hr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kontakta&lt;/del&gt;-linux-se/&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;https://www.linux.se/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kontaka&lt;/ins&gt;-linux-se/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategori:Php]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategori:Php]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.linux.se/index.php?title=Anonyma_klasser&amp;diff=3222&amp;oldid=prev</id>
		<title>Admin: Skapade sidan med &#039;== Anonyma klasser == Anonyma klasser är användbara när enkla, tillfälliga objekt behöver skapas.  &lt;pre&gt; &lt;?php  // Användning av en explicit klass class Logger {     public function log($msg)     {         echo $msg;     } }  $util-&gt;setLogger(new Logger());  // Användning av en anonym klass $util-&gt;setLogger(new class {     public function log($msg)     {         echo $msg;     } }); ?&gt; &lt;/pre&gt;  De kan skicka argument till sina konstruktörer, ärva från andra klas...&#039;</title>
		<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=Anonyma_klasser&amp;diff=3222&amp;oldid=prev"/>
		<updated>2024-08-19T05:07:21Z</updated>

		<summary type="html">&lt;p&gt;Skapade sidan med &amp;#039;== Anonyma klasser == Anonyma klasser är användbara när enkla, tillfälliga objekt behöver skapas.  &amp;lt;pre&amp;gt; &amp;lt;?php  // Användning av en explicit klass class Logger {     public function log($msg)     {         echo $msg;     } }  $util-&amp;gt;setLogger(new Logger());  // Användning av en anonym klass $util-&amp;gt;setLogger(new class {     public function log($msg)     {         echo $msg;     } }); ?&amp;gt; &amp;lt;/pre&amp;gt;  De kan skicka argument till sina konstruktörer, ärva från andra klas...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny sida&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Anonyma klasser ==&lt;br /&gt;
Anonyma klasser är användbara när enkla, tillfälliga objekt behöver skapas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Användning av en explicit klass&lt;br /&gt;
class Logger&lt;br /&gt;
{&lt;br /&gt;
    public function log($msg)&lt;br /&gt;
    {&lt;br /&gt;
        echo $msg;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$util-&amp;gt;setLogger(new Logger());&lt;br /&gt;
&lt;br /&gt;
// Användning av en anonym klass&lt;br /&gt;
$util-&amp;gt;setLogger(new class {&lt;br /&gt;
    public function log($msg)&lt;br /&gt;
    {&lt;br /&gt;
        echo $msg;&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De kan skicka argument till sina konstruktörer, ärva från andra klasser, implementera gränssnitt och använda traits precis som en vanlig klass kan:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
class SomeClass {}&lt;br /&gt;
interface SomeInterface {}&lt;br /&gt;
trait SomeTrait {}&lt;br /&gt;
&lt;br /&gt;
var_dump(new class(10) extends SomeClass implements SomeInterface {&lt;br /&gt;
    private $num;&lt;br /&gt;
&lt;br /&gt;
    public function __construct($num)&lt;br /&gt;
    {&lt;br /&gt;
        $this-&amp;gt;num = $num;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    use SomeTrait;&lt;br /&gt;
});&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Det ovanstående exemplet kommer att skriva ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
object(class@anonymous)#1 (1) {&lt;br /&gt;
  [&amp;quot;Command line code0x104c5b612&amp;quot;:&amp;quot;class@anonymous&amp;quot;:private]=&amp;gt;&lt;br /&gt;
  int(10)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Att kapsla in en anonym klass i en annan klass ger den inte tillgång till några privata eller skyddade metoder eller egenskaper hos den yttre klassen. För att kunna använda den yttre klassens skyddade egenskaper eller metoder kan den anonyma klassen ärva den yttre klassen. För att använda den yttre klassens privata egenskaper i den anonyma klassen måste de skickas genom dess konstruktör:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
class Outer&lt;br /&gt;
{&lt;br /&gt;
    private $prop = 1;&lt;br /&gt;
    protected $prop2 = 2;&lt;br /&gt;
&lt;br /&gt;
    protected function func1()&lt;br /&gt;
    {&lt;br /&gt;
        return 3;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function func2()&lt;br /&gt;
    {&lt;br /&gt;
        return new class($this-&amp;gt;prop) extends Outer {&lt;br /&gt;
            private $prop3;&lt;br /&gt;
&lt;br /&gt;
            public function __construct($prop)&lt;br /&gt;
            {&lt;br /&gt;
                $this-&amp;gt;prop3 = $prop;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            public function func3()&lt;br /&gt;
            {&lt;br /&gt;
                return $this-&amp;gt;prop2 + $this-&amp;gt;prop3 + $this-&amp;gt;func1();&lt;br /&gt;
            }&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
echo (new Outer)-&amp;gt;func2()-&amp;gt;func3();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Det ovanstående exemplet kommer att skriva ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alla objekt som skapas av samma anonyma klassdeklaration är instanser av just den klassen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function anonymous_class()&lt;br /&gt;
{&lt;br /&gt;
    return new class {};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (get_class(anonymous_class()) === get_class(anonymous_class())) {&lt;br /&gt;
    echo &amp;#039;same class&amp;#039;;&lt;br /&gt;
} else {&lt;br /&gt;
    echo &amp;#039;different class&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Det ovanstående exemplet kommer att skriva ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
same class&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Notera:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Notera att anonyma klasser tilldelas ett namn av motorn, som demonstreras i följande exempel. Detta namn måste betraktas som en implementationsdetalj som inte bör förlitas på.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
echo get_class(new class {});&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Det ovanstående exemplet kommer att skriva ut något liknande:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class@anonymous/in/oNi1A0x7f8636ad2021&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Sidslut =&lt;br /&gt;
Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.oop5.anonymous.php&lt;br /&gt;
&amp;lt;BR&amp;gt;[[PHP]]&lt;br /&gt;
&amp;lt;BR&amp;gt;[[Språkreferens]]&lt;br /&gt;
&amp;lt;BR&amp;gt;[[Språkreferens#Klasser_och_Objekt]]&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontakta-linux-se/&lt;br /&gt;
&lt;br /&gt;
[[Kategori:Php]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>