Objects:
As the name implies, object-oriented programs are built around objects.
An object associates data with the particular operations that can use or affect that data.
In Objective-C, these operations are known as the object’s methods; the data they affect are its instance variables.
In Objective-C, objects are identified by a distinct data type, id.This type is
defined as a pointer to an object
////id anObject;///
nil -->objc.h@/NextDeveloper/Headers.
Messages:
To get an object to do something, you send it a message telling it to apply a
method. In Objective-C, message expressions are enclosed in square brackets:
[receiver message]
(30.0, 50.0):==> [myRect setOrigin:30.0 :50.0];
setWidth:height: ==> [myRect setWidth:10.0 height:15.0];
[receiver makeGroup:group, memberOne, memberTwo, memberThree];
Classes:
In Objective-C, you define objects by defining their class. The class definition
is a prototype for a kind of object; it declares the instance variables that become part of every member of the class, and it defines a set of methods that all objects in the class can use.
NSObject --> NSObject, being a root class, doesn’t have a superclass. In OpenStep, it’s in the inheritance path for every other class.
int i = sizeof(Rectangle);
Rectangle *myRect;
if ( [anObject isMemberOfClass:someClass] )
if ( [anObject isKindOfClass:someClass] )
id aClass = [anObject class];
Class aClass = [anObject class];
Creating Instances=> [Rectangle alloc]
The alloc method dynamically allocates memory for the new object’s instance
variables and initializes them all to 0—all, that is, except the isa variable that
connects the new instance to its class.
Defining A Class:
In Objective-C, classes are defined in two parts:
interface=>
@interface ClassName : ItsSuperclass
{
instance variable declarations
}
method declarations
@end
class methods ->+ alloc;
instance methods -> - (void)display;
- (float)radius;
- (void)setWidth:(float)width height:(float)height;
- makeGroup:group, ...;
Importing the Interface -> #import "Rectangle.h"
Referring to Other Classes -> @class Rectangle, Circle;
An interface file mentions class names when it statically types instance variables,return values, and arguments.
The Implementation=>
@implementation ClassName : ItsSuperclass
{
instance variable declarations
}
method definitions
@end
@private The instance variable is accessible only within the class that declares
it.
@protected The instance variable is accessible within the class that declares it
and within classes that inherit it.
@public The instance variable is accessible everywhere.
How Messaging Works:
[receiver message]->objc_msgSend(receiver, selector)
分享到:
相关推荐
Softgroup .NET Subclass and Hook Objects supply .Net fast, small and lightweight wrapper classes that made easy and secure subclassing and hooking windows for any programmers. Included Classes ...
PEP 3155: Qualified name for classes and functions PEP 412: Key-Sharing Dictionary PEP 362: Function Signature Object PEP 421: Adding sys.implementation SimpleNamespace Using importlib as the ...
javax.enterprise.deploy.shared Provides shared objects for Tool Vendor and Product Vendor implementation classes. javax.enterprise.deploy.shared.factories Provides shared factory manager object for ...
- Objects, classes, methods, and messages - Pointers, addresses, and memory management with ARC - Properties and Key-Value Coding (KVC) - Class extensions - Categories - Classes from the ...
3. Objective-C Objects and Messages 4. Objective-C Classes 5. Objective-C Instances 6. Anatomy of an Xcode Project 7. Nib Management 8. Documentation 9. Life Cycle of a Project 10. Cocoa Classes 11. ...
Static components include the definition of classes and methods, while dynamic interactions involve sending messages to objects. The `NSObject` class plays a central role in this interaction, as it ...
Item 75: Include failure-capture information in detail messages Item 76: Strive for failure atomicity Item 77: Don’t ignore exceptions 11 Concurrency Item 78: Synchronize access to shared mutable ...
#### Classes Are Blueprints for Objects 类是用于创建对象的模板或蓝图。每个类定义了一组属性和方法,这些属性和方法定义了该类的对象的行为和状态。 #### Mutability Determines Whether a Represented Value ...
Lesson 9 - Simple error messages Lesson 10 - Tuple objects: sequences of any kind of object Lesson 11 - Interacting with the user Lesson 12 - Capstone project: name mashup UNIT 3 - MAKING DECISIONS ...
The Foundation Classes MFC Source Code Header Files MFC Libraries Summary Chapter 2: The Wizards and The Gallery AppWizard Starting AppWizard Choosing Your Application's User Interface ...
面向对象方法学可以用下列方程来概括:OO=objects+classes+inheritance+communication with messages。面向对象就是既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信。 面向对象方法学有...
4. 面向对象方法可以用一个公式概括:OO = Objects + Classes + Inheritance + Communication with messages,即对象、类、继承和消息通信是面向对象方法学的基础。 面向对象方法学有多个显著的优点: 1. 它与人类...
Autonomous loops, oneway messages, interactive messages, cancellation Concurrent application architectures Flow, parallelism, layering Libraries Using, building, and documenting reusable concurrent ...
#### Classes Are Blueprints for Objects 类是创建对象的蓝图。它们定义了对象的属性和方法。类的设计是面向对象编程的核心部分。 #### Mutability Determines Whether a Represented Value Can Be Changed 可变...
- **Proxy Generation**: Generating proxy classes for client-side communication. - **Defining Mappings**: Creating mappings to transform messages between different formats. - **Using Predefined ...
Due to its modular design, switch from such a Client-Server architecture over HTTP, named pipes or GDI messages into a stand-alone application is just a matter of mORMot classes initialization. ...
the ability to see how many new mail messages they have, are not supported by POP at all. These capabilities are built into programs like Eudora or Microsoft Outlook, which remember things like the ...
classes and objects; regexes; and code testing. When you’ve mastered the basics, Perl 6 Fundamentals moves onto more advanced topics to give you a deeper understanding of the language. You’ll learn...