温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

面向对象语言总结

发布时间:2020-04-08 00:33:55 来源:网络 阅读:241 作者:Lee_1985 栏目:编程语言

 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

 无此概念




向AI问一下细节
推荐阅读:
  1. html总结
  2. rabbitmq总结

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI