主流编程语言的对比分析

简介: 最近做Android和IOS项目,由资深windows平台C++开发转型做移动平台,涉及到C++、Java、ObjectC三类语言的对比,本文将从面向对象语言三大特性&五大原则角度对比分析,总结沉淀下来(N年前做Java的时候就想干的事,现在总算动手了)三大特性:封装封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。

最近做Android和IOS项目,由资深windows平台C++开发转型做移动平台,涉及到C++、Java、ObjectC三类语言的对比,本文将从面向对象语言三大特性&五大原则角度对比分析,总结沉淀下来(N年前做Java的时候就想干的事,现在总算动手了)

三大特性:

封装

封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。类就是一个封装了数据以及操作这些数据的代码的逻辑实体。

继承

继承:指可以让某个类型的对象获得另一个类型的对象的属性的方法。

C++ Java ObjectC

多态

多态:指一个类实例的相同方法在不同情形有不同表现形式

C++ Java ObjectC

重载

C++ Java ObjectC

五大原则

单一职责原则

对类来说:类的功能要单一,不能包罗万象。

开放封闭原则

对模块来说:在扩展性方面应该是开放的而在更改性方面应该是封闭的。比如在设计解码模块时,要考虑ffmpeg软解、Android和IOS的硬解,在设计模块对外接口时,抽取其共性,搭好框架后,可以先实现软解,在后期再扩展硬解时,无需改变整体代码,即可方便扩展。这也是插件化思想的体现。

替换原则

对继承来说:子类应当可以替换父类并出现在父类能够出现的任何地方。即可通过替换原则验证父类设计是否合理,有无改进。

依赖倒置原则

依赖倒置原则是设计中解耦、减少依赖的核心方法。
举例:依赖倒置的典型时序图—-待补充

接口分离原则

模块间要通过抽象接口隔离开,而不是通过具体的类强耦合起来

目录
相关文章
|
6月前
|
前端开发 JavaScript Java
一文了解主流开发语言都有哪些!
本文将综合探讨目前市场上最流行、最多人使用的几种主流开发语言,包括它们的特点、典型应用场景以及简单示例代码。
|
6月前
|
JavaScript 前端开发 Java
最受欢迎的8种编程语言解析_kaic
最受欢迎的8种编程语言解析_kaic
|
21天前
|
Rust 安全 Java
编程语言新宠:Rust语言的特性、优势与实战入门
【10月更文挑战第27天】Rust语言以其独特的特性和优势在编程领域迅速崛起。本文介绍Rust的核心特性,如所有权系统和强大的并发处理能力,以及其性能和安全性优势。通过实战示例,如“Hello, World!”和线程编程,帮助读者快速入门Rust。
42 1
|
1月前
|
JSON C# 开发者
C#语言新特性深度剖析:提升你的.NET开发效率
【10月更文挑战第15天】C#语言凭借其强大的功能和易用性深受开发者喜爱。随着.NET平台的演进,C#不断引入新特性,如C# 7.0的模式匹配和C# 8.0的异步流,显著提升了开发效率和代码可维护性。本文将深入探讨这些新特性,助力开发者在.NET开发中更高效地利用它们。
36 1
|
2月前
|
IDE C# 开发工具
C# 语言的主要优势是什么?
C# 语言的主要优势是什么?
103 2
|
2月前
|
监控 数据处理 C#
利用 F# 语言,为公司监控软件带来函数式编程优势
在科技飞速发展的今天,软件质量和效率对公司运营至关重要。F# 作为一种强大的函数式编程语言,以其简洁高效的语法和易于理解、维护的特点,成为开发监控软件的理想选择。它支持高阶函数,提高了代码复用性,适用于各种监控场景。此外,F# 还能与其他编程语言良好互操作,提升开发效率。这些特性使其在监控软件开发中展现出显著优势。
27 6
|
3月前
|
Rust 安全 编译器
【颠覆传统】Rust跨平台开发秘籍:如何轻松驾驭多操作系统,打造无缝兼容应用?
【8月更文挑战第31天】Rust语言凭借其内存安全、卓越性能及丰富的标准库支持,正逐渐成为跨平台开发的新宠。本文通过具体代码示例,展示如何用Rust编写可在多种操作系统上无缝运行的应用程序。Rust通过所有权、借用和生命周期等机制提升代码安全性,并在编译时检测潜在错误。其编译器支持广泛平台,包括Windows、macOS和Linux等,非常适合跨平台开发。此外,Rust还可用于开发复杂的GUI应用,利用GTK、Qt等成熟框架实现跨平台图形界面。无论开发命令行工具还是图形界面应用,Rust均能提供高效稳定的解决方案。
210 1
|
6月前
|
Rust Java C++
Rust生态系统与社区支持:跨语言比较的探究
【2月更文挑战第1天】本文旨在比较Rust语言与其他主流编程语言(如Python、Java、C++)在生态系统与社区支持方面的差异与优势。我们将从标准库、第三方库、工具链、社区活跃度和文档质量等多个维度进行深入分析,以揭示Rust在这些方面所展现出的独特之处和潜力。
|
6月前
|
开发框架 Java .NET
C#编程语言的优势与C++对比
C#编程语言的优势与C++对比
158 0
|
6月前
|
Rust 安全 物联网
Rust在系统级编程中的独特优势
本文深入探讨了Rust在系统级编程中的独特优势,包括其内存安全、高性能、并发编程能力以及与其他语言的互操作性。通过实际案例,展示了Rust如何在操作系统、嵌入式系统、网络编程等领域发挥重要作用,并预测了Rust在未来系统级编程中的发展趋势。