热门IT资讯网

面向对象语言总结

发表于:2024-11-26 作者:热门IT资讯网编辑
编辑最后更新 2024年11月26日,C++、java、C#、Python、Php等语言均支持OOP,但是有很多规则,他们却不尽相同,本文重点总结一下几种语言在OOP中的共性与特性,只要把这些点区分开,其实几种语言的代码你就都可以运用自如

C++、java、C#、Python、Php等语言均支持OOP,但是有很多规则,他们却不尽相同,本文重点总结一下几种语言在OOP中的共性与特性,只要把这些点区分开,其实几种语言的代码你就都可以运用自如。

详见下表:

C++

Java

C#

Python

PHP

Lua

强类型(静态类型)

强类型(静态类型)

强类型(静态类型)

弱类型(动态类型)

弱类型(动态类型)

弱类型(动态类型)

1.支持多继承
2.
privateprotectedpublic三种继承方式

1.不支持多继承
2.
只有一种继承方式(关键字extends

1.不支持多继承
2.
只有一种继承方式(无关键字,class B : A)

1.支持多继承

2.只有一种继承方式(无关键字:class C(B,A)

1.支持多继承

2.只支持一种继承方式(关键字extends

不支持继承,但可用metatable实现

1.无接口概念

1.有接口概念

2.支持接口多继承

1.有接口概念

2.支持接口多继承

1.无接口概念

1.有接口概念

2.支持接口多继承

1.无接口概念

支持函数重载

支持函数重载

支持函数重载

1.不支持函数重载

2.可通过默认参数实现重载

1.不支持函数重载

2.可通过默认参数实现重载

1.不支持函数重载

2.可通过默认参数实现重载

支持子类覆盖父类方法

支持子类覆盖父类方法

支持子类覆盖父类方法

支持子类覆盖父类方法

支持子类覆盖父类方法

支持子类覆盖父类方法

不可封装属性不可封装属性可以封装属性可以封装属性不可封装属性

不可封装属性

隐藏成员变量使用:private/protected隐藏成员变量使用:private/protected隐藏成员变量使用:private/protected变量名称前加双下划线隐藏成员变量使用:private/protected

变量用local修饰

this->访问成员this.访问成员this.访问成员self.访问成员$this->访问成员

self.访问成员

构造函数为类名构造函数为类名构造函数为类名__init____construct

无此概念

析构函数为~类名无需自己析构无需自己析构__del____destruct

无此概念




0