OC第一天——面向对象

1.OC: Object- C ,面向对象的语言

2、OC 和 C的区别:

<1> oc是 c的超集 ,oc是在c语言的基础上做了扩展,c语言中的所有语法,在oc中都可以使用,甚至你可以在工程里加入C++ 语言

<2>oc在c基础上扩展了面向对象的特点

<3>oc 是一门运行时语言

<4>oc为我们提供了丰富的类库

3、 如何学习好OC ?

    //1.百度 (ios)
    //2.看苹果的官方文档(API接口网站)
    //3.看博客

    //4.自己的错误总结

4、 面向对象编程的核心:类和对象

    面向对象编程的三大特征:封装,继承,多态

    类:具有相同特征和行为(功能)事物的抽象

 对象:就是类的实例化

5、 创建一个类:

    //1、通过Cocoa touch class 模板,创建类,自动生成.h 和 .m文件
    //2、在.h 文件中写类的特征(实例变量) 和方法的声明

    //3、在.m中写实现部分

 ——*使用类创建对象*——

    //1、开辟内存空间

    //2、初始化

6、[ ]中括号调用方法

    //[Person alloc] 给person 这个类发送一个消息alloc(开辟内存空间)
    //创建对象person1

    //每一个对象 isa指针 用来指向它的父类,之所有能够调用父类的方法,完全是因为这个 isa  指针;

7、 初始化 如果初始化没有赋值这时默认所有的实例变量都为空;

                   person1 = [person1 init];

   这条语句同时完成了两件事:开辟内存并初始化;

8、例子:

.h文件:

//@interface 是接口 Person 是类名    :继承自谁 NSObject 是所有Oc类中的基类
//---------------------------Person类的创建对象的特征---------------------

@interface Person : NSObject

//特征一定要写在下面那对大括号里面
{      @public    //实例变量对@public 修饰后的就能在类的外部访问到这些实例变量了;
    //类的外部指:.h 和.m 之外的其他文件就叫类的外部
    //类的内部指:.h 和.m 文件之内

    //NSString 是OC中字符串类

               NSString *_name;//姓名NSString 不是基本数据类型,所以定义它需要加*
   
              NSInteger    _age;//年龄NSInteger 是基本数据类型,所以定义变量时不需要加*号

               NSString *_sex;//性别

// ----------------------------Persson类型创建出对象所拥有的行为----------

//行为的声明部分
//用 (减号)(- )号 修饰的方法属于对象方法,这个方法只能有我们定义这个类的创建出来对象来调用
//用加好(+)修饰的方法属于类方法,这这方法只能有类来调用

- (id)init;//重写inint写法
- (void)sayHello;//小驼峰命名法
- (void)eat;

//添加一个带参数的方法
//一个冒号:代表一个参数

//写一个带有参数的方法时格式<    :(数据类型)参数名   >

- (void)talk:(NSString *)content;     //隐匿有参数数据类型

- (void)talk:(NSString *)content withSonmeone : (NSString *)name;

@end

————————————————————————

.m文件:

/@implementation 是类的实现部分

@implementation Person

//id 范类型,返回值可以指向任何类型的对象   类似于void *  ;

- (id)init{—————————赋给初始值————————

   _name = @"翔哥";
   _sex = @"妖";
    _age = 18;
   
    //打印self地址
    NSLog(@"self地址:%p",self);
   
    //谁调用这个方法self 指的就是谁

    return self;

————————————————————————————————————

main.m  文件:

 Person *p = [[Person alloc]init];
    //调用sayhello的方法
    [p sayHello];
    p->_name = @"zhangSan";
    p->_age = 18;
    p->_sex = @"妖";
    [p sayHello];
    //调用吃得方法

    [p eat];

转自:http://blog.csdn.net/qq_31810357

时间: 2024-11-27 17:15:40

OC第一天——面向对象的相关文章

第一节--面向对象编程 -- Classes and Objects in PHP5 [1]

object|php5|编程|对象 | = 本文为Haohappy读<<Core PHP Programming>> | = 中Classes and Objects一章的笔记 | = 翻译为主+个人心得 | = 为避免可能发生的不必要的麻烦请勿转载,谢谢 | = 欢迎批评指正,希望和所有PHP爱好者共同进步! +---------------------------------------------------------------------+*/ 第一节--面向对象编程

第一章 面向对象软件工程与UML

这个OOAD讲的都是很抽象的东西!老师说这个在现在的学习中用到的不是很多,但是以后出去工作的时候就会常用到的. 首先来了解OOAD是讲什么的. OOAD:Object Oriented Analysis Design,面向对象的分析和设计; 什么是面向对象? 面向对象(Object-Orientation, 简称OO)是一种系统建模技术. 面向对象编程(Object-Orientation Programming,简称OOP)是按照OO的方法学来开发程序的过程. 通过分析系统内对象的交互来描述或

Java程序员应当知道的10个面向对象设计原则

(设计原则)底线是永远追求高内聚.低耦合的编码或设计. Apache 和 Sun的开源代码是学习Java和OOPS设计原则的良好范例.它们向我们展示了,设计原则在Java编程中是如何使用的.Java JDK 使用了一些设计原则:BorderFactory类中的工厂模式.Runtime类中的单例模式.java.io 类中的装饰器模式.顺便说一句,如果您真的对Java编码原则感兴趣,请阅读Joshua Bloch 的Effective Java,他编写过Java API.我个人最喜欢的关于面向对象设

程序员应知道这十大面向对象设计原则

面向对象设计原则是OOPS编程的核心, 但我见过的大多数Java程序员热心于像Singleton (单例) . Decorator(装饰器).Observer(观察者) 等设计模式, 而没有把足够多的注意力放在学习面向对象的分析和设计上面.学习面向对象编程像"抽象"."封装"."多态"."继承" 等基础知识是重要的,但同时为了创建简洁.模块化的设计,了解这些设计原则也同等重要.我经常看到不同经验水平的java程序员,他们有的不

OC语言基础知识

一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类. 术语:OO面向对象.OOP面向对象编程 二.类 (一)关于类 类的设计只关注三个东西:类名.属性和方法 注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类名是标识符的一种,需要符合规范,通常类名的第一个字母大写,且不能有下划线,如果有多个单词则使用驼峰标识.在对方法进行类的划分中,一般采取的

【Python之旅】第四篇(三):Python面向对象编程详解

终于是来到了Python的面向对象编程,以前是没有接触过其它的面向对象编程的语言,因此学习这一部分是相当带劲的,这里也总结一下. 1.面向对象编程的相关名词及解释     世界万物,皆可分类,一切皆为对象.     所谓的面向对象编程,指的是一种编程的思想,通过对具体代码实现过程(面向过程编程)的不断抽象,以形成一个个的类别,以提高我们进行大型程序编写的效率(面向对象的具体实现需要面向过程,大型程序也可以用面向过程来编写,只是比较麻烦).对于面向对象编程的相关名词和解释如下: 对象 :类的实体\

《JavaScript设计模式》——第1章 灵活的语言——JavaScript 1.1入职第一天

第一篇 面向对象编程 面向对象编程(Object-oriented programming,OOP)是一种程序设计范型.它将对象作为程序的基本单元,将程序和数据封装其中,以提高程序的重用性.灵活性和扩展性. 第1章 灵活的语言--JavaScript JavaScript设计模式 结束了4年的大学学习生活,小白信心满满地来到应聘的M公司.今天是入职的第一天,项目经理分下来一个验证表单功能的任务,内容不多,仅需要验证用户名.邮箱.密码等. 1.1 入职第一天 小白接到需求看了看,感觉很简单,于是便

iOS面试必看,最全梳理

原文 序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了.今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,加之,培训机构一火车地向用人单位输送iOS开发人员,打破了生态圈的动态平衡.矫情一下,言归正传,我奉献一下,为iOS应聘者梳理一下面试题,希望能助一臂之力! OC的理解与特性 OC作为一门面向对象的语言,自然具有面向对象的语言特性:封装.继承.多态.它既具有静态语言的特性(如C++),又有动态语言的效率(动态绑定.动态加载等).总体来讲,OC确实是一门不错的编程

php5学习笔记(转)

php5|笔记 作者: whhwq在phpv.net看到的感觉不错/*+-------------------------------------------------------------------------------+| = 本文为Haohappy读<<Core PHP Programming>> | = 中Classes and Objects一章的笔记 | = 翻译为主+个人心得 | = 为避免可能发生的不必要的麻烦请勿转载,谢谢 | = 欢迎批评指正,希望和所有