当前位置:网站首页 > C++编程 > 正文

object—c_c++编程软件是什么

介绍

Object-C 是一个为苹果IOS 和OS X系统编写程序的语言。它能够编译和构建命令行功能、GUI、领域框架的通用语言。他也提供了很多的功能帮助维护复杂的应用。

Types of programs written in Objective-C

像C++一样,Object-C也是在C语言的基础上添加了面向对象的特性,但是两种语言完成这个目标,采用了明显不同的基础哲学。Object-C明显更加的偏向动态语言,推迟它的决定到运行时,而不是编译时。这个表现在IOS 和 OS X开发的设计模式。

Objective-C 冗长的命名规约大家周所周知。导致的结果是:最终的代码很具有描述性,所以几乎不可能导致误解或者错用。比如是相同功能的代码片段用C++和Object-C分别表示结果:

// C++ john->drive("Corvette", "Mary's House") // Objective-C [john driveCar:@"Corvette" toDestination:@"Mary's House"]

Frameworks

有一些标准包不在我们本教程讨论的范围,但是Apple’s Cocoa and Cocoa Touch 框架是当前最流行的。他们分别为OS X 应用开发和IOS应用的开发定义了各自的api。下面表格中列出了在Cocoa and Cocoa Touch中的框架。想获取更加详细的信息,请参考Mac 技术概述和IOS 技术概述。

Framework Description
Foundation Defines core object-oriented data types like strings, arrays, dictionaries, etc. We’ll explore the essential aspects of this framework in the Data Types module.
UIKit Provides dozens of classes for creating and controlling the user interface on iOS devices.
AppKit Same as UIKit, but for OS X devices.
CoreData Provides a convenient API for managing object relationships, supporting undo/redo functionality, and interacting with persistent storage.
MediaPlayer Defines a high-level API for playing music, presenting videos, and accessing the user’s iTunes library.
AVFoundation Provides lower-level support for playing, recording, and integrating audio/video into custom applications.
QuartzCore Contains two sub-frameworks for manipulating images. The CoreAnimation framework lets you animate UI components, and CoreImage provides image and video processing capabilities (e.g., filters).
CoreGraphics Provides low-level 2D drawing support. Handles path-based drawing, transformations, image creation, etc.

当您熟悉Object-C之后,有一些能帮助您构架IOS和 OS X应用的工具。再次强调,教程不是一个完整的app开发的教程,也就是说不教您学习上面的框架。除了Foundation 框架,您将不会学习其他的框架。

如果您对Mac应用开发感兴趣,您可以参考Ry’s Cocoa 教程,当然您必须先对Object-C有扎实的掌握。教程教您怎样构建一个OS X应用使用相同的方法,像本教程一样。

Xcode

Xcode是苹果公司为开发Mac 、iPhone和iPad应用而开发的集成开发环境(IDE).它不仅报错源代码编辑器,而且包括界面设计工具( interface builder),设备模拟器、综合测试和调试工具、上一节提到的框架以及开发app所需要的其他的内容。

当然也有其他的方法可以编译Object-C代码,但是Xcode肯定是最容易学习的。我建议您现在就安装Xcode,这样您就可以跟着学习本教程后面的例子。Xcode可以从Mac App Store 免费获取。

Creating an Application 创建一个应用

Xcode 为我们提供了 iOS and OS X 应用的各种模板。所有多可以通过导航:File > New > Project…或者Cmd+Shift+N快捷键找到。我们将打开一个对话框,询问您选择模板。

Creating a command line application

对于本教程,我们将选择Command Line Tool模板,通过OS X > Application能找到,在截图中是高亮的。这样使我们省去了设置iOS/OS X 的特殊的内容,而是关注Object-C本身。接着往下走,创建一个Command Line Tool的工程。这样打开另一个对话框,要求您配置工程信息。

Configuring a command line application

您可以填写任何您喜欢的Product Name 和Organization Name;对于Company Identifier使用 edu.self,这是一个标准的个人是用的标示。对于上线的app,如果您注册为一个Apple 开发者,您将可以从Apple获取公司标示。

本教程将使用一些类,他们是定义在Foundation框架中的。所以您需要确定Type 字段,选择是Foundation。最后,Use Automatic Reference Counting 复选框通常是被选择的。

点击Next,提示你选择一个工程存储的位置,这样您应该就有了一个可以使用的Xcode工程。在Xcode的左边,您应该可以看到有一个main.m的文件。现在,这个文件包括你工程的所有。注意以.m为扩张名的文件,通常被作为Object-C的源代码文件。

这里写图片描述

为了编译工程,可以点击在左上角的Run按钮或者使用Cmd+R快捷键。这是您应该能在Xcode的Output 面板中看到输出:Hello, World!

Xcode’s Output Panel

The main() Function

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@"Hello, World!"); } return 0; }

在 @autoreleasepool块中您可以编写代码、实验本教程的代码片段。上面的main()调用了定义在Foundation 框架中的函数。这是Object-C通用工具,为了输出消息到控制台。您也注意到了,Object-C中的字符串之前有@前缀。

在整个教程中,您将通过编辑上面您看到的main.m中的内容,观察语言的特性工作原理,但是在真正的开发中,您几乎不可能修改模板提供的main函数内容。对于大多数应用,main()只有一个功能,就是将控制权交给“application delegate”。比如,Mac app 工程的默认main函数如下:

#import <Cocoa/Cocoa.h> int main(int argc, const char * argv[]) { return NSApplicationMain(argc, argv); }

但是,我们将一直使用command line tools类型的工程,所以上面的例子已经超出了教程的范围。然而Application delegates 是OS X 和 IOS 应用的一部分。Ry’s Cocoa教程的前几章将详细的讲述。

准备好!

接下来的两章将学习C语言语法。之后,我们将学习类、方法、协议和其他面向对象内容。本教程是由大量的可以实践的例子组成的。我们建议您,粘贴这些例子的代码,在您刚才创建的工程中,提供一些参数,观察会发生什么。

到此这篇object—c_c++编程软件是什么的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • swift和c++混编_objectc2024-11-11 17:45:11
  • c++调用matlab生成的dll_OBJECT2024-11-11 17:45:11
  • c语言中object指什么_Objective-C的特点2024-11-11 17:45:11
  • 全局变量在类中如何使用_objectivec和c语言2024-11-11 17:45:11
  • 苹果手机出现object object_objectc2024-11-11 17:45:11
  • object c 教程_c++程序设计原理与实践2024-11-11 17:45:11
  • c中object类型_objective C2024-11-11 17:45:11
  • objective-c_c++教学软件2024-11-11 17:45:11
  • plc算法有哪些_plc天塔之光梯形图编程2024-11-11 17:45:11
  • plc天塔之光梯形图编程_dart语言教程2024-11-11 17:45:11
  • 全屏图片