Rumah php教程 php手册 PHP类和对象函数实例详解

PHP类和对象函数实例详解

Jun 14, 2016 am 12:02 AM
kelas php kod objek Sumber terbuka pengaturcaraan bahasa pengaturcaraan pembangunan perisian

1. interface_exists、class_exists、method_exists和property_exists:

      顾名思义,从以上几个函数的命名便可以猜出几分他们的功能。我想这也是我随着对PHP的深入学习而越来越喜欢这门编程语言的原因了吧。下面先给出他们的原型声明和简短说明,更多的还是直接看例子代码吧。
bool interface_exists (string $interface_name [, bool $autoload = true ]) 判断接口是否存在,第二个参数表示在查找时是否执行__autoload。
bool class_exists (string $class_name [, bool $autoload = true ]) 判断类是否存在,第二个参数表示在查找时是否执行__autoload。
bool method_exists (mixed $object , string $method_name) 判断指定类或者对象中是否含有指定的成员函数。
bool property_exists (mixed $class , string $property) 判断指定类或者对象中是否含有指定的成员变量。

<span style="color: #000000;">php
</span><strong><span style="color: #008000;">//</span></strong><span style="color: #008000;"><strong>in another_test_class.php</strong></span>
<span style="color: #0000ff;">interface</span><span style="color: #000000;"> AnotherTestInterface {

}

</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> AnotherTestClass {
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> printMe() {
        </span><span style="color: #0000ff;">print</span> "This is Test2::printSelf.\n"<span style="color: #000000;">;
    }
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> doSomething() {
        </span><span style="color: #0000ff;">print</span> "This is Test2::doSomething.\n"<span style="color: #000000;">;
    }
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> doSomethingWithArgs(<span style="color: #800080;">$arg1</span>, <span style="color: #800080;">$arg2</span><span style="color: #000000;">) {
        </span><span style="color: #0000ff;">print</span> 'This is Test2::doSomethingWithArgs with ($arg1 = '.<span style="color: #800080;">$arg1</span>.' and $arg2 = '.<span style="color: #800080;">$arg2</span>.").\n"<span style="color: #000000;">;
    }
}

</span><span style="color: #000000;">php
</span><strong><span style="color: #008000;">//</span></strong><span style="color: #008000;"><strong>in class_exist_test.php,</strong> 下面测试代码中所需的类和接口位于another_test_class.php,
//由此可以发现规律,类和接口的名称是驼峰风格的,而文件名的单词间是下划线分隔的。
//这里给出了两种__autoload的方式,因为第一种更为常用和方便,因此我们这里将第二种方式注释掉了,他们之间的差别可以查看manual。</span>
<span style="color: #0000ff;">function</span> __autoload(<span style="color: #800080;">$classname</span><span style="color: #000000;">) {
    </span><span style="color: #800080;">$nomilizedClassname</span> = <span style="color: #008080;">strtolower</span>(<span style="color: #008080;">preg_replace</span>('/([A-Z]\w*)([A-Z]\w*)([A-Z]\w*)/','${1}_${2}_${3}',<span style="color: #800080;">$classname</span><span style="color: #000000;">));
    </span><span style="color: #0000ff;">require</span> <span style="color: #008080;">strtolower</span>(<span style="color: #800080;">$nomilizedClassname</span>).".php"<span style="color: #000000;">;
}
</span><span style="color: #008000;">//</span><span style="color: #008000;">spl_autoload_register(function($classname) {
//    $nomilizedClassname = strtolower(preg_replace('/([A-Z]\w*)([A-Z]\w*)([A-Z]\w*)/','${1}_${2}_${3}',$classname));
//    require strtolower($nomilizedClassname).".php";
//});</span>

<span style="color: #0000ff;">print</span> "The following case is tested before executing autoload.\n"<span style="color: #000000;">;
</span><span style="color: #0000ff;">if</span> (!<span style="color: #008080;">class_exists</span>('AnotherTestClass',<span style="color: #0000ff;">false</span><span style="color: #000000;">)) {
    </span><span style="color: #0000ff;">print</span> "This class doesn't exist if no autoload.\n"<span style="color: #000000;">;
}

</span><span style="color: #0000ff;">if</span> (!<span style="color: #008080;">interface_exists</span>('AnotherTestInterface',<span style="color: #0000ff;">false</span><span style="color: #000000;">)) {
    </span><span style="color: #0000ff;">print</span> "This interface doesn't exist if no autoload.\n"<span style="color: #000000;">;
}

</span><span style="color: #0000ff;">print</span> "\nThe following case is tested after executing autoload.\n"<span style="color: #000000;">;
</span><span style="color: #0000ff;">if</span> (<span style="color: #008080;">class_exists</span>('AnotherTestClass',<span style="color: #0000ff;">true</span><span style="color: #000000;">)) {
    </span><span style="color: #0000ff;">print</span> "This class exists if autoload is set to true.\n"<span style="color: #000000;">;
}

</span><span style="color: #0000ff;">if</span> (<span style="color: #008080;">interface_exists</span>('AnotherTestInterface',<span style="color: #0000ff;">true</span><span style="color: #000000;">)) {
    </span><span style="color: #0000ff;">print</span> "This interface exists if autoload is set to true.\n"<span style="color: #000000;">;
}</span> 
Salin selepas log masuk

    运行结果如下: 

<span style="color: #000000;">bogon:TestPhp$ php class_exist_test.php 
The following </span><span style="color: #000000;">case</span><span style="color: #000000;"> is tested before executing autoload.
This class doesn</span><span style="color: #800000;">'</span><span style="color: #800000;">t exist if no autoload.</span>
This interface doesn<span style="color: #800000;">'</span><span style="color: #800000;">t exist if no autoload.</span>
<span style="color: #000000;">
The following </span><span style="color: #000000;">case</span><span style="color: #000000;"> is tested after executing autoload.
</span><span style="color: #000000;">This class exists if autoload is set to true.
This interface exists if autoload is set to true.</span>
Salin selepas log masuk

2. get_declared_classes和get_declared_interfaces: 

    分别返回当前可以访问的所有类和接口,这不仅包括自定义类和接口,也包括了PHP内置类和接口。他们的函数声明非常简单,没有参数,只是返回数组。见如下代码:

<span style="color: #000000;">php
</span><span style="color: #0000ff;">interface</span><span style="color: #000000;"> AnotherTestInterface {

}

</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> AnotherTestClass {
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> printMe() {
        </span><span style="color: #0000ff;">print</span> "This is Test2::printSelf.\n"<span style="color: #000000;">;
    }
}

</span><span style="color: #008080;">print_r</span>(<span style="color: #008080;">get_declared_interfaces</span><span style="color: #000000;">());
</span><span style="color: #008080;">print_r</span>(<span style="color: #008080;">get_declared_classes</span>());
Salin selepas log masuk

    由于输出结果过长,而且这两个函数也比较简单,所以下面就不再给出输出结果了。

3. get_class_methods、get_class_vars和get_object_vars: 

    这三个函数有一个共同点,即只能获取作用域可见范围内的所有成员函数、成员变量或非静态成员变量。比如在类的内部调用,则所有成员函数或者变量都符合条件,而在类的外部,则只有共有的函数和变量可以返回。
array get_class_methods (mixed $class_name) 获取指定类中可访问的成员函数。
array get_class_vars (string $class_name) 获取指定类中可以访问的成员变量。
array get_object_vars (object $object) 获取可以访问的非静态成员变量。

<span style="color: #000000;">php
</span><span style="color: #0000ff;">function</span> output_array(<span style="color: #800080;">$functionName</span>, <span style="color: #800080;">$items</span><span style="color: #000000;">) {
    </span><span style="color: #0000ff;">print</span> "<span style="color: #800080;">$functionName</span>.....................\n"<span style="color: #000000;">;
    </span><span style="color: #0000ff;">foreach</span> (<span style="color: #800080;">$items</span> <span style="color: #0000ff;">as</span> <span style="color: #800080;">$key</span> => <span style="color: #800080;">$value</span><span style="color: #000000;">) {
        </span><span style="color: #0000ff;">print</span> '$key = '.<span style="color: #800080;">$key</span>. ' => $value = '.<span style="color: #800080;">$value</span>."\n"<span style="color: #000000;">;
    }
}

</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> TestClass {
    </span><span style="color: #0000ff;">public</span> <span style="color: #800080;">$publicVar</span> = 1<span style="color: #000000;">;
    </span><span style="color: #0000ff;">private</span> <span style="color: #800080;">$privateVar</span> = 2<span style="color: #000000;">;
    </span><span style="color: #0000ff;">static</span> <span style="color: #0000ff;">private</span> <span style="color: #800080;">$staticPrivateVar</span> = "hello"<span style="color: #000000;">;
    </span><span style="color: #0000ff;">static</span> <span style="color: #0000ff;">public</span> <span style="color: #800080;">$staticPublicVar</span><span style="color: #000000;">;

    </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> privateFunction() {

    }
    </span><span style="color: #0000ff;">function</span><span style="color: #000000;"> publicFunction() {
        output_array(</span>"get_class_methods",<span style="color: #008080;">get_class_methods</span>(<span style="color: #ff00ff;">__CLASS__</span><span style="color: #000000;">));
        output_array(</span>'get_class_vars',<span style="color: #008080;">get_class_vars</span>(<span style="color: #ff00ff;">__CLASS__</span><span style="color: #000000;">));
        output_array(</span>'get_object_vars',<span style="color: #008080;">get_object_vars</span>(<span style="color: #800080;">$this</span><span style="color: #000000;">));
    }
}

</span><span style="color: #800080;">$testObj</span> = <span style="color: #0000ff;">new</span><span style="color: #000000;"> TestClass();
</span><span style="color: #0000ff;">print</span> "The following is output within TestClass.\n"<span style="color: #000000;">;
</span><span style="color: #800080;">$testObj</span>-><span style="color: #000000;">publicFunction();

</span><span style="color: #0000ff;">print</span> "\nThe following is output out of TestClass.\n"<span style="color: #000000;">;
output_array(</span>'get_class_methods',<span style="color: #008080;">get_class_methods</span>('TestClass'<span style="color: #000000;">));
output_array(</span>'get_class_vars',<span style="color: #008080;">get_class_vars</span>('TestClass'<span style="color: #000000;">));
output_array(</span>'get_object_vars',<span style="color: #008080;">get_object_vars</span>(<span style="color: #800080;">$testObj</span>));
Salin selepas log masuk

    运行结果如下:

<span style="color: #000000;">bogon:TestPhp liulei$ php class_exist_test.php 
The following is output within TestClass.
get_class_methods.....................
$key </span>= <span style="color: #800080;">0</span> => $value =<span style="color: #000000;"> privateFunction
$key </span>= <span style="color: #800080;">1</span> => $value =<span style="color: #000000;"> publicFunction
get_class_vars.....................
$key </span>= publicVar => $value = <span style="color: #800080;">1</span><span style="color: #000000;">
$key </span>= privateVar => $value = <span style="color: #800080;">2</span><span style="color: #000000;">
$key </span>= staticPrivateVar => $value =<span style="color: #000000;"> hello
$key </span>= staticPublicVar => $value =<span style="color: #000000;"> 
get_object_vars.....................
$key </span>= publicVar => $value = <span style="color: #800080;">1</span><span style="color: #000000;">
$key </span>= privateVar => $value = <span style="color: #800080;">2</span><span style="color: #000000;">

The following is output out of TestClass.
get_class_methods.....................
$key </span>= <span style="color: #800080;">0</span> => $value =<span style="color: #000000;"> publicFunction
get_class_vars.....................
$key </span>= publicVar => $value = <span style="color: #800080;">1</span><span style="color: #000000;">
$key </span>= staticPublicVar => $value =<span style="color: #000000;"> 
get_object_vars.....................
$key </span>= publicVar => $value = <span style="color: #800080;">1</span>
Salin selepas log masuk

4. get_called_class和get_class:

string get_class ([ object $object = NULL ]) 获取参数对象的类名称。
string get_called_class (void) 静态方法调用时当前的类名称。

<span style="color: #000000;">php
</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Base {
    </span><span style="color: #0000ff;">static</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> test() {
        </span><span style="color: #008080;">var_dump</span><span style="color: #000000;">(get_called_class());
    }
}

</span><span style="color: #0000ff;">class</span> Derive <span style="color: #0000ff;">extends</span><span style="color: #000000;"> Base {
}

Base</span>::<span style="color: #000000;">test();
Derive</span>::<span style="color: #000000;">test();

</span><span style="color: #008080;">var_dump</span>(<span style="color: #008080;">get_class</span>(<span style="color: #0000ff;">new</span><span style="color: #000000;"> Base()));
</span><span style="color: #008080;">var_dump</span>(<span style="color: #008080;">get_class</span>(<span style="color: #0000ff;">new</span> Derive()));
Salin selepas log masuk

    运行结果如下:

<span style="color: #000000;">bogon:TestPhp$ php another_test_class.php 
</span><span style="color: #0000ff;">string</span>(<span style="color: #800080;">4</span>) <span style="color: #800000;">"</span><span style="color: #800000;">Base</span><span style="color: #800000;">"</span>
<span style="color: #0000ff;">string</span>(<span style="color: #800080;">6</span>) <span style="color: #800000;">"</span><span style="color: #800000;">Derive</span><span style="color: #800000;">"</span>
<span style="color: #0000ff;">string</span>(<span style="color: #800080;">4</span>) <span style="color: #800000;">"</span><span style="color: #800000;">Base</span><span style="color: #800000;">"</span>
<span style="color: #0000ff;">string</span>(<span style="color: #800080;">6</span>) <span style="color: #800000;">"</span><span style="color: #800000;">Derive</span><span style="color: #800000;">"</span>
Salin selepas log masuk

5. get_parent_class、is_a和is_subclass_of:

    这三个函数都是和类的继承相关,所以我把他们归到了一起。

string get_parent_class ([ mixed $object ]) 获取参数对象的父类,如果没有父类则返回false。
bool is_a (object $object, string $class_name) 判断第一个参数对象是否是$class_name类本身或是其父类的对象。
bool is_subclass_of (mixed $object, string $class_name) 判断第一个参数对象是否是$class_name的子类。

<span style="color: #000000;">php
</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Base {
    </span><span style="color: #0000ff;">static</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> test() {
        </span><span style="color: #008080;">var_dump</span><span style="color: #000000;">(get_called_class());
    }
}

</span><span style="color: #0000ff;">class</span> Derive <span style="color: #0000ff;">extends</span><span style="color: #000000;"> Base {
}

</span><span style="color: #008080;">var_dump</span>(<span style="color: #008080;">get_parent_class</span>(<span style="color: #0000ff;">new</span><span style="color: #000000;"> Derive()));
</span><span style="color: #008080;">var_dump</span>(<span style="color: #008080;">is_a</span>(<span style="color: #0000ff;">new</span> Derive(),'Derive'<span style="color: #000000;">));
</span><span style="color: #008080;">var_dump</span>(<span style="color: #008080;">is_a</span>(<span style="color: #0000ff;">new</span> Derive(),'Base'<span style="color: #000000;">));
</span><span style="color: #008080;">var_dump</span>(<span style="color: #008080;">is_a</span>(<span style="color: #0000ff;">new</span> Base(),'Derive'<span style="color: #000000;">));

</span><span style="color: #008080;">var_dump</span>(<span style="color: #008080;">is_subclass_of</span>(<span style="color: #0000ff;">new</span> Derive(),'Derive'<span style="color: #000000;">));
</span><span style="color: #008080;">var_dump</span>(<span style="color: #008080;">is_subclass_of</span>(<span style="color: #0000ff;">new</span> Derive(),'Base'));
Salin selepas log masuk

    运行结果如下:

<span style="color: #000000;">bogon:TestPhp$ php another_test_class.php 
</span><span style="color: #000000;">string(4) "Base"
bool(true)
bool(true)
bool(false)
bool(false)
bool(true)</span>
Salin selepas log masuk
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tutorial pengenalan rasmi Huawei untuk bahasa pengaturcaraan Cangjie dikeluarkan. Ketahui cara mendapatkan SDK versi universal dalam satu artikel Tutorial pengenalan rasmi Huawei untuk bahasa pengaturcaraan Cangjie dikeluarkan. Ketahui cara mendapatkan SDK versi universal dalam satu artikel Jun 25, 2024 am 08:05 AM

Menurut berita dari laman web ini pada 24 Jun, pada ucaptama Persidangan Pembangun Huawei HDC2024 pada 21 Jun, Gong Ti, Presiden Jabatan Perisian Terminal BG Huawei, secara rasmi mengumumkan bahasa pengaturcaraan Cangjie yang dibangunkan sendiri oleh Huawei. Bahasa ini telah dibangunkan selama 5 tahun dan kini tersedia untuk pratonton pembangun. Laman web pembangun rasmi Huawei kini telah melancarkan video tutorial pengenalan rasmi bahasa pengaturcaraan Cangjie untuk memudahkan pembangun memulakan dan memahaminya. Tutorial ini akan membawa pengguna untuk mengalami Cangjie, mempelajari Cangjie dan menggunakan Cangjie, termasuk menggunakan bahasa Cangjie untuk menganggar pi, mengira peraturan batang dan cabang untuk setiap bulan 2024, lihat N cara menyatakan pokok binari dalam bahasa Cangjie dan menggunakan penghitungan jenis untuk melaksanakan pengiraan Algebra, simulasi sistem isyarat menggunakan antara muka dan sambungan, dan sintaks baharu menggunakan makro Cangjie, dsb. Laman web ini mempunyai alamat akses tutorial: ht

Selepas 5 tahun penyelidikan dan pembangunan, bahasa pengaturcaraan generasi seterusnya Huawei 'Cangjie' telah melancarkan pratontonnya secara rasmi Selepas 5 tahun penyelidikan dan pembangunan, bahasa pengaturcaraan generasi seterusnya Huawei 'Cangjie' telah melancarkan pratontonnya secara rasmi Jun 22, 2024 am 09:54 AM

Laman web ini melaporkan pada 21 Jun bahawa pada Persidangan Pembangun Huawei HDC2024 petang ini, Gong Ti, Presiden Jabatan Perisian Terminal BG Huawei, secara rasmi mengumumkan bahasa pengaturcaraan Cangjie yang dibangunkan sendiri oleh Huawei dan mengeluarkan versi pratonton pembangun bagi bahasa HarmonyOSNEXT Cangjie. Ini adalah kali pertama Huawei mengeluarkan bahasa pengaturcaraan Cangjie secara terbuka. Gong Ti berkata: "Pada 2019, projek bahasa pengaturcaraan Cangjie telah dilahirkan di Huawei. Selepas 5 tahun pengumpulan R&D dan pelaburan R&D yang berat, akhirnya ia bertemu dengan pembangun global hari ini. Bahasa pengaturcaraan Cangjie mengintegrasikan ciri bahasa moden, pengoptimuman kompilasi komprehensif dan pelaksanaan Runtime dan sokongan rangkaian alat IDE yang luar biasa mencipta pengalaman pembangunan yang mesra dan prestasi program yang sangat baik untuk pembangun "Menurut laporan, bahasa pengaturcaraan Cangjie ialah alat perisikan semua senario.

Huawei melancarkan HarmonyOS NEXT Cangjie pembangun bahasa pengaturcaraan pratonton pengambilan beta Huawei melancarkan HarmonyOS NEXT Cangjie pembangun bahasa pengaturcaraan pratonton pengambilan beta Jun 22, 2024 am 04:07 AM

Menurut berita dari laman web ini pada 21 Jun, bahasa pengaturcaraan Cangjie yang dibangunkan sendiri oleh Huawei telah diumumkan secara rasmi hari ini, dan pegawai itu mengumumkan pelancaran pengambilan beta pratonton pembangun bahasa HarmonyOSNEXT Cangjie. Peningkatan ini ialah peningkatan pengguna awal kepada versi pratonton pembangun, yang menyediakan SDK bahasa Cangjie, panduan pembangun dan pemalam DevEcoStudio yang berkaitan untuk pembangun menggunakan bahasa Cangjie untuk membangun, nyahpepijat dan menjalankan aplikasi HarmonyOSNext. Tempoh pendaftaran: 21 Jun 2024 - 21 Oktober 2024 Keperluan permohonan: Acara pengambilan Beta HarmonyOSNEXT Cangjie Language Developer Preview hanya terbuka kepada pembangun berikut: 1) Nama sebenar telah dilengkapkan dalam Pensijilan Perikatan Pembangun Huawei 2) Lengkapkan H

Universiti Tianjin dan Universiti Beihang terlibat secara mendalam dalam projek 'Cangjie' Huawei dan melancarkan rangka kerja pengaturcaraan ejen AI pertama 'Cangqiong' berdasarkan bahasa pengaturcaraan domestik. Universiti Tianjin dan Universiti Beihang terlibat secara mendalam dalam projek 'Cangjie' Huawei dan melancarkan rangka kerja pengaturcaraan ejen AI pertama 'Cangqiong' berdasarkan bahasa pengaturcaraan domestik. Jun 23, 2024 am 08:37 AM

Menurut berita dari laman web ini pada 22 Jun, Huawei semalam memperkenalkan bahasa pengaturcaraan yang dibangunkan sendiri oleh Huawei-Cangjie kepada pembangun di seluruh dunia. Ini adalah penampilan umum pertama bahasa pengaturcaraan Cangjie. Menurut pertanyaan di laman web ini, Universiti Tianjin dan Universiti Aeronautik dan Astronautik Beijing terlibat secara mendalam dalam penyelidikan dan pembangunan "Cangjie" Huawei. Universiti Tianjin: Penyusun Bahasa Pengaturcaraan Cangjie Pasukan kejuruteraan perisian Jabatan Perisikan dan Pengkomputeran Universiti Tianjin bekerjasama dengan pasukan Huawei Cangjie untuk mengambil bahagian secara mendalam dalam penyelidikan jaminan kualiti penyusun bahasa pengaturcaraan Cangjie. Menurut laporan, pengkompil Cangjie adalah perisian asas yang bersimbiotik dengan bahasa pengaturcaraan Cangjie. Dalam peringkat persediaan bahasa pengaturcaraan Cangjie, pengkompil berkualiti tinggi yang sepadan dengannya menjadi salah satu matlamat teras. Apabila bahasa pengaturcaraan Cangjie berkembang, pengkompil Cangjie sentiasa dinaik taraf dan dipertingkatkan. Dalam tempoh lima tahun yang lalu, Universiti Tianjin

Laman web rasmi bahasa pengaturcaraan Cangjie yang dibangunkan sendiri oleh Huawei dan dokumen pembangunan adalah dalam talian, menyepadukan ke dalam ekosistem Hongmeng buat kali pertama Laman web rasmi bahasa pengaturcaraan Cangjie yang dibangunkan sendiri oleh Huawei dan dokumen pembangunan adalah dalam talian, menyepadukan ke dalam ekosistem Hongmeng buat kali pertama Jun 22, 2024 am 03:10 AM

Menurut berita dari laman web ini pada 21 Jun, sebelum Persidangan Pembangun Huawei HDC2024, bahasa pengaturcaraan Cangjie yang dibangunkan sendiri oleh Huawei telah diumumkan secara rasmi, dan tapak web rasmi Cangjie kini dalam talian. Pengenalan laman web rasmi menunjukkan bahawa bahasa pengaturcaraan Cangjie ialah bahasa pengaturcaraan generasi baharu untuk kecerdasan semua senario, memfokuskan pada "kepintaran asli, semua senario semula jadi, prestasi tinggi dan keselamatan yang kukuh." Sepadukan ke dalam ekosistem Hongmeng untuk menyediakan pembangun pengalaman pengaturcaraan yang baik. Laman web rasmi yang dilampirkan pada tapak ini memperkenalkan seperti berikut: Rangka kerja pengaturcaraan pintar asli yang dibenamkan dengan AgentDSL, integrasi organik bahasa semula jadi & bahasa pengaturcaraan, ekspresi simbolik yang dipermudahkan, gabungan corak bebas, menyokong pembangunan pelbagai aplikasi pintar. Masa jalan yang sangat ringan dan berskala untuk semua adegan, reka bentuk berlapis modular, tidak kira betapa kecilnya memori, ia boleh menampung pengembangan domain semua senario

Pautan terakhir ekosistem Hongmeng berdarah tulen Huawei! Bahasa pengaturcaraan Cangjie yang dibangunkan sendiri akan mula diperkenalkan Pautan terakhir ekosistem Hongmeng berdarah tulen Huawei! Bahasa pengaturcaraan Cangjie yang dibangunkan sendiri akan mula diperkenalkan Jun 21, 2024 pm 03:23 PM

Menurut berita pada 21 Jun, tengah hari ini, Persidangan Pembangun Huawei 2024 akan dibuka secara rasmi. "Hongmeng berdarah murni" HarmonyOS NEXT sememangnya menjadi keutamaan menurut rancangan yang didedahkan oleh Yu Chengdong sebelum ini, beta awam mungkin diumumkan secara rasmi petang ini, dan pengguna biasa juga boleh mencuba "Harmony darah tulen". Menurut laporan, kumpulan pertama telefon mudah alih yang disokong ialah siri Mate60 dan siri Pura70. Perlu diingat bahawa sebagai "Hongmeng berdarah tulen", HarmonyOSNEXT telah mengalih keluar kernel Linux tradisional dan kod sumber terbuka Android AOSP dan membangunkan keseluruhan tindanan dalaman. Menurut laporan terbaru dari Sina Technology, Huawei juga akan melengkapkan pautan terakhir Ekosistem Hongmeng dan mengembangkan kehadirannya di dunia.

Universiti Tsinghua dan sumber terbuka Zhipu AI GLM-4: melancarkan revolusi baharu dalam pemprosesan bahasa semula jadi Universiti Tsinghua dan sumber terbuka Zhipu AI GLM-4: melancarkan revolusi baharu dalam pemprosesan bahasa semula jadi Jun 12, 2024 pm 08:38 PM

Sejak pelancaran ChatGLM-6B pada 14 Mac 2023, model siri GLM telah mendapat perhatian dan pengiktirafan yang meluas. Terutama selepas ChatGLM3-6B menjadi sumber terbuka, pembangun penuh dengan jangkaan untuk model generasi keempat yang dilancarkan oleh Zhipu AI. Jangkaan ini akhirnya telah berpuas hati sepenuhnya dengan keluaran GLM-4-9B. Kelahiran GLM-4-9B Untuk memberikan model kecil (10B dan ke bawah) keupayaan yang lebih berkuasa, pasukan teknikal GLM melancarkan model sumber terbuka siri GLM generasi keempat baharu ini: GLM-4-9B selepas hampir setengah tahun penerokaan. Model ini sangat memampatkan saiz model sambil memastikan ketepatan, dan mempunyai kelajuan inferens yang lebih pantas dan kecekapan yang lebih tinggi. Penerokaan pasukan teknikal GLM tidak

Model kod sumber terbuka Mistral mengambil takhta! Codestral tergila-gila dengan latihan dalam lebih 80 bahasa, dan pembangun Tongyi domestik meminta untuk mengambil bahagian! Model kod sumber terbuka Mistral mengambil takhta! Codestral tergila-gila dengan latihan dalam lebih 80 bahasa, dan pembangun Tongyi domestik meminta untuk mengambil bahagian! Jun 08, 2024 pm 09:55 PM

Dihasilkan oleh tindanan teknologi 51CTO (WeChat ID: blog51cto) Mistral mengeluarkan model kod pertamanya Codestral-22B! Apa yang menggilakan model ini bukan sahaja kerana ia dilatih dalam lebih 80 bahasa pengaturcaraan, termasuk Swift, dll. yang banyak model kod diabaikan. Kelajuan mereka tidak sama. Ia dikehendaki menulis sistem "terbit/langgan" menggunakan bahasa Go. GPT-4o di sini sedang dikeluarkan, dan Codestral menyerahkan kertas dengan pantas sehingga sukar untuk dilihat! Memandangkan model itu baru sahaja dilancarkan, ia masih belum diuji secara terbuka. Tetapi menurut orang yang bertanggungjawab ke atas Mistral, Codestral kini merupakan model kod sumber terbuka yang berprestasi terbaik. Rakan-rakan yang berminat dengan gambar boleh bergerak ke: - Peluk muka: https

See all articles