1
0
mirror of https://github.com/php/doc-tr.git synced 2026-04-29 18:03:12 +02:00
Files
2024-10-29 13:52:16 +03:00

137 lines
3.4 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 16f66c05a4060a7d673ae1c70b656d65009407b0 Maintainer: nilgun Status: ready -->
<!-- CREDITS: tpug, sezer -->
<sect1 xml:id="language.oop5.final" xmlns="http://docbook.org/ns/docbook">
<title><code>final</code> Anahtar Sözcüğü</title>
<para>
Tanımı <literal>final</literal> anahtar sözcüğü ile başlayan yöntem,
özellik veya sabiti çocuk sınıflar geçersiz kılamaz. Tanımı
<literal>final</literal> sözcüğüyle ile başlayan bir sınıf ise
genişletilemez.
</para>
<example>
<title>- <code>final</code> yöntem örneği</title>
<programlisting role="php">
<![CDATA[
<?php
class AnaSınıf {
public function deneme() {
echo "AnaSınıf::deneme() çağrıldı\n";
}
final public function başkaDeneme() {
echo "AnaSınıf::başkaDeneme() çağrıldı\n";
}
}
class ÇocukSınıf extends AnaSınıf {
public function başkaDeneme() {
echo "ÇocukSınıf::başkaDeneme() çağrıldı\n";
}
}
// Ölümcül hata ile sonuçlanır: AnaSınıf:başkaDeneme() final yöntemi
// ÇocukSınıf::başkaDeneme() yöntemiyle geçersiz kılınamaz
?>
]]>
</programlisting>
</example>
<example>
<title>- <code>final</code> sınıf örneği</title>
<programlisting role="php">
<![CDATA[
<?php
final class AnaSınıf {
public function deneme() {
echo "AnaSınıf::deneme() çağrıldı\n";
}
// Sınıf zaten final olduğundan buradaki final gereksizdir
final public function başkaDeneme() {
echo "AnaSınıf::başkaDeneme() çağrıldı\n";
}
}
class ÇocukSınıf extends AnaSınıf {
}
// Ölümcül hata ile sonuçlanır: ÇocukSınıf final bir sınıf
// olan AnaSınıf'ın çocuğu olarak oluşturulamaz
?>
]]>
</programlisting>
</example>
<example>
<title>- PHP 8.4.0 ve sonrasında Final özellik örneği</title>
<programlisting role="php">
<![CDATA[
<?php
class BaseClass {
final protected string $test;
}
class ChildClass extends BaseClass {
public string $test;
}
// Onulmaz hata ile sonuçlanır: Cannot override final property BaseClass::$test
?>
]]>
</programlisting>
</example>
<example xml:id="language.oop5.final.example.php81">
<title>- PHP 8.1.0 ve sonrasında Final sabit örneği</title>
<programlisting role="php">
<![CDATA[
<?php
class Foo
{
final public const X = "foo";
}
class Bar extends Foo
{
public const X = "bar";
}
// Ölümcül hata: Bar::X, final constant Foo::X ile geçersiz kılınamaz
?>
]]>
</programlisting>
</example>
<note>
<simpara>
PHP 8.0.0 itibariyle, private yöntemler,
<link linkend="language.oop5.decon.constructor">kurucular</link> hariç
final olarak bildirilememektedir.
</simpara>
</note>
<note>
<simpara>
<link linkend="language.oop5.visibility-members-aviz"><literal>private(set)</literal></link>
olarak bildirilen bir özellik örtük olarak <literal>final</literal>'dir.
</simpara>
</note>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->