OC --(2)-- 基础知识分析对象,创建类,自定义初始化方法

1.分析对象 2 创建类(实例变量 方法) 3.创建对象 调用方法 结局问题
@property int age;//相当于声明getter setter 方法;
@synthesize age ; //相当于实现getter setter 方法;
@synthesize age=_age ;//会去访问_age;
实例变量的可见度;
        [email protected]; 公共的 在类的内部和外部都可以进行访问(破坏了面向的对象的封装特性)         [email protected] 私有的,只有当前类才能访问,其子类不能直接访问(破坏了继承特性)
        [email protected] 受保护的,只有当前类及其子类才能访问(默认的)

#include 和 #import 都是导入文件 但是#import 比#include高级 因为#import 会解决重复导入问题
重复导入: 多次导入相同的文件内容
循环导入问题 :两个文件互相导入对方,导致互相的类型不能够识别
解决循环导入问题:在其中一个文件 .h中使用@class ,并在对应的.m中使用#import 导入头文件  
@class Woman; //@class xxx  假设xxx就是一个类

点语法
Person *per=[[Person alloc] initWithName:@"hanjinpeng" sex:@"nan" age:22];
[email protected]"lisi”;//等效于[per setName];
NSLog(@"%@",per.name);//等效于 [per name];

2.  description 方法   当使用%@打印一个对象时 会调用这个方法
   -(NSString*)description{   
     NSString *str=[NSString stringWithFormat:@“age is %i and no is %i”,self.age,_no];
     return str;//格式化打印输出
}  
带参的方法
-(NSString*) setValue: (NSString*)name;
 setName:sex:age:weight:   方法名
去掉 -或者+ 去掉返回值类型及(),去掉每一个参数及其参数类型 剩余的部分就是方法名;
OC中方法的形式
1.+ -  开头 区分当前的方法是类方法还是实例方法   +不能调用实例变量
2. () 内部写返回值类型
3. 书写对于每一个参数的说明 " : "后面书写 参数的类型 和 参数名  如果没有参数就不写 " : "
-(void)setType:(NSString*)type;
-(NSString*)type;
settet以set开头加上实例变量 (去掉下划线 首字母大写) : (参数类型)参数名
getter : 返回值为实例变量的类型 方法名为实例变量名去掉下划线
//自定义初始化方法
//形式:init开头+with ‘W‘大写 +各个参数

时间: 2024-08-26 18:44:49

OC --(2)-- 基础知识分析对象,创建类,自定义初始化方法的相关文章

C# 基础知识-06----.NET中File类的部分方法

OC语言基础知识

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

李洪强iOS开发之OC语言基础知识

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

java基础知识回顾之javaIO类--管道流PipedOutputStream和PipedIutputStream

管道流(线程通信流):管道流的主要作用是可以进行两个线程间的通讯,分为管道输出流(PipedOutputStream).管道输入流(PipedInputStream),如果想要进行管道输出,则必须要把输出流连在输入流之上.如图所示: 1.管道输入流应该连接到管道输出流 ,输入流和输出流可以直接连接       2.使用多线程操作,结合线程进行操作.通常由某个线程从管道输入流中(PipedInputStream)对象读取.          并由其他线程将其写入到相应的端到输出流中.不能使用单线程

java基础知识回顾之javaIO类--RandomAccessFile类

java.io 类 RandomAccessFile java.lang.Object java.io.RandomAccessFile1.该类不是IO流中的子类.2.该类既能读又能写.3.该对象内部分装了一个字节数组,通过指针可以操作数组中的元素.4.其实该对象就是将字节输入流和输出流进行了封装.5.该对象只能对文件操作,目的和源只能是文件对象.通过看构造方法可以看得出来.RandomAccessFile(File file, String mode) RandomAccessFile(Str

IOS学习之路--OC的基础知识

运行过程 1.编写OC程序:.m源文件 2.编译.m文件为.o目标文件:cc -c xxxx.m 3.链接.o文件为a.out可执行文件:cc xxxx.o -framework Foundation 4.执行a.out文件:./a.out #import 的功能跟#include一样,只是更好用,他避免了头文件的多次包含 为了能使用OC的特性, 一定要引入#import <Foundation/Foundation.h> 类定义// @implementation 和 @end // 设计(

java基础知识回顾之javaIO类--File类

File类是对文件系统中文件以及目录(文件夹)进行封装的对象,可以通过面向对象的思想来操作文件和目录(文件夹).File类保存文件或目录的各种元素的信息,包括文件名,文件长度,最后修改日期,是否可读,获取当前文件的路径名,判断指定文件是否存在,获得当前文件的列表,创建.删除文件目录等方法. /**     * 构造方法:File f = new File("file.txt");//file.txt 相对路径     *       File f1 = new File("c

java基础知识回顾之javaIO类--File类应用:获取指定目录下面的指定扩展名的文件,将文件的绝对路径写入到目的文件当中

/** * File文件综合应用 * 需求:获取指定目录下面,指定扩展名的文件,将文件的绝对路径写到文本文件当中. *  * 思路:1.需要深度遍历.--递归 * 2.遍历的过程中过滤指定扩展名的文件--过滤器FileNameFilter,将文件存入容器中 * 3.将容器中的内容遍历,写入到指定文件中 * */ 代码:  FilenameFilter 过滤器: package com.lp.ecjtu.File.filter; import java.io.File; import java.i

java基础知识回顾之javaIO类--File类应用:过滤器接口FilenameFilter和FileFilter

FilenameFilter和FileFilter都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码:通过使用File类中String[] list(FilenameFilter filter)或者public File[] listFiles(FileFilter filter)方法,把FilenameFilter或者FileFilter接口对象作为参数传入,通过实现接口里面的 boolean accept(File dir, String name) 或者boo