Objective-C语言-对象

main.n

// 
//  main.m  
//  OC_8  
//  
//  Created by ibokan on 15/12/7.  
//  Copyright © 2015年 aishuo. All rights reserved.  
//  
/* 
 OC 语言的特点在P4 
 */  
#import <Foundation/Foundation.h>  
#import "Student.h"  
  
//相当于一个声明文件  
@interface Teacher : NSObject  
{  
    @public  
    NSString *_name;  
      
}  
  
-(void)classBegin;  
  
@end  
  
//相当于实现文件  
@implementation Teacher  
  
-(void)classBegin  
{  
    NSLog(@"%@ say class begin!",_name);  
}  
  
@end  
  
/* 
 在OC中,我们使用#import指令来导入头文件 
 #import "header"导入自定义类的头文件 
 #import <header>导入ios框架类库的文件 
  
 Foundation 框架是用来处理用户界面之下的层(layer)中得特性的,利润数据结构和通信机制,我们OC中得程序,都是以Foundation框架为基础。 
  
 //作业 
 #include 与#import 的区别? 
  
  
 */  
int main(int argc, const charchar * argv[]) {  
    /* 
     auto 自动 
     lease释放 
     pool池 
      
     自动释放池技术提供了一种机制,可以让我们将对象的所有权释放,但是不会导致对象 
     马上被清理,利润用在一个方法返回一个对象中 
      
     有以下三种情况下我们可能会用自动释放池技术 
     1.如果我们写的程序不是基友UI框架的,如命令行工具 
     2.如果我们写的程序中有循环并且产生大量的临时对象 
     3.如果你并发第二个线程 
      
     通常我们不需要建立自己的自动释放池块,在oc中,以后需要在main函数中创建对象 
     都在我们的autoreleasepool中创建,让他来自动帮我们管理对象所有权的释放 
      
     */  
    @autoreleasepool {  
        // NSLong()是系统日光的日志函数,用来在控制套打印出调试信息  
          
        NSLog(@"Hello, World!");//NSLong与printf函数的区别?  
    //        printf("Hello, world!");  
        /* 
         面向对象的特征和概念 
          
         面向对象是现在主流的程序设计思想,面向对象是把高潮问题的实物分解各个对象 
         ,然后协调各个对象之间的联系和通讯。建立对象之间的目的不是为了完成某一个 
         步骤,而是为了描述某个事物在整体解决问题的步骤中的行为。 
          
         其基本思想是:使用类,对象,属性,方法(函数)以及封装,继承和多态等概念来进行程序设计。 
          
          
         */  
        //OC中常用的数据类型。前缀:NS  
        NSInteger age=25;//整形  
        NSUInteger age1=55;//无符号整形  
//        NSLog(@"age1=%d",age1);  
        CGFloat source=34.5;//浮点型  
        NSRange range;//表示范围作用 结构体  
        CGPoint point;  
        CGSize size;  
        NSRect rect;  
        NSString *string=@"My name is Rick";  
        char c=[string characterAtIndex:3];  
        NSLog(@"c=%c",c);  
          
        //oc里面没有多维数组,只有数组嵌套数组  
        NSArray *array=@[@1,@2,@3,@4];  
          
        NSDictionary *dictioanry=@{@"name":@"Rick",@"age":@25};  
          
        NSDate *date=[NSDate date];//美国时间  
          
        NSData *data =[NSData data];//二进制数据  
          
        //NSURL 网址  
        /* 
         NSOperationQueue 线程 
         NSThread 线程 
         dispatch_get_main_queue() 线程 
         */  
          
        /* 
         什么是类类是一组具有相同属性及行为的对象的组合 
         在OC 中。类是由接口(interface)和实现(imolement)两部分组成 
          
         .h 为接口文件,用来实现属性的生命和方法的声明 
         .m 实现文件,用来实现属性和方法 
         */  
          
        /* 
          
         什么是对象? 
         类的具体实现 
         创建和使用对象 
         OC创建对象的语法: 
          类名 *对象名=[[类名 alloc] init]; 
         或者 
          类名 *对象名=[类名 new]; 
         
         alloc为对象动态分配内存地址,需要做内存管理,放在对上面,需要做内存管理 
          
         init 在内存中填上初始值 
          
         堆: 
         栈: 
         
         new 为alloche init简写 
          
          
         */  
        Student *stu=[[Student alloc] init];  
          
        Student *stu1=[Student alloc];  
        stu1=[stu1 init];  
          
        Student *stu2=[Student new];  
          
        //如何给类中的属性赋值以及调用类中的方法  
        //属性赋值。通过->给实例变量赋值  
          
        stu->_name=@"小红";  
        stu->_age=15;  
        stu->_address=@"广东";  
        stu->_hobby=@"看书";  
          
        NSLog(@"stu->name=%@",stu->_name);  
          
        [stu sayHello];//方法  
          
        NSString *stuString=[stu eatLunch];  
        NSLog(@"stuString=%@",stuString);  
          
        //手动创建一个类 类由两部分组成声明和实现  
          
        Teacher *ter=[Teacher new];  
        [ter classBegin];  
          
          
          
    }  
    return 0;  
} 

Student.h

//  
//  Student.h  
//  OC_8  
//  
//  Created by ibokan on 15/12/7.  
//  Copyright © 2015年 aishuo. All rights reserved.  
//  
  
#import <Foundation/Foundation.h>  
  
//@interface , @end 关键字,表明声明的开始和结束  
  
//Student 类的名称 ,NSObject 是该类所属的父类,在OC 中继承的语法为"类型:父类名"  
@interface Student : NSObject  
{  
    @public  
    NSString *_name;  
    //@protected  
    NSInteger _age;  
    //@private  
    NSString *_hobby;  
    NSString *_address;  
      
    /* 
     属性的作用域 
     @public      公开的,任何类的方法都可以访问 
     @protected   受保护的.有类本身和类的子类可以访问 
     @private     私有的,有类本身才能访问 
      
     */  
      
}  
  
/* 
 减号(-)表明了该方法是实例方法。类方法则用加号(+)。 
 (书p23)括号中void表示无返回值类型 
 其他类型还有NSIntger。NSString类型等等。 
  
 */  
//声明方法  
-(void)sayHello;//实例方法  
  
-(NSString *)eatLunch;//实例方法  
  
+(NSString *)playGame;//类方法  
  
  
@end  

Student.m

//  
//  Student.m  
//  OC_8  
//  
//  Created by ibokan on 15/12/7.  
//  Copyright © 2015年 aishuo. All rights reserved.  
//  
  
#import "Student.h"  
  
  
//在@implementation 与@end 中实现接口文件声明的方法  
@implementation Student  
  
-(void)sayHello  
{  
    NSLog(@"Hello everybody!!!");  
}  
  
-(NSString *)eatLunch  
{  
    if (_age<18)  
    {  
        return [NSString stringWithFormat:@"%@小姐,今晚有空吃饭吗",_name];  
    }  
    else  
    {  
        return [NSString stringWithFormat:@"%@小姐,今晚没空吃饭!",_name];  
    }  
}  
  
+(NSString *)playGame  
{  
    return [NSString stringWithFormat:@"I like playing LOL!"];  
}  
@end

StudentSon.h

//  
//  StudentSon.h  
//  OC_8  
//  
//  Created by ibokan on 15/12/7.  
//  Copyright © 2015年 aishuo. All rights reserved.  
//  
  
#import "Student.h"  
  
@interface StudentSon : Student  
  
-(void)sayWord;  
  
  
@end  


StudentSon.m

//  
//  StudentSon.m  
//  OC_8  
//  
//  Created by ibokan on 15/12/7.  
//  Copyright © 2015年 aishuo. All rights reserved.  
//  
  
#import "StudentSon.h"  
  
@implementation StudentSon  
  
-(void)sayWord  
{  
    //_name是@public 修饰的,所有类都是可以访问  
    NSLog(@"%@",_name);  
    //_age是@protected修饰的,该类与其子类都是可以访问  
    NSLog(@"%ld",_age);  
    //_hobby是@private修饰的,只有该类本身可以访问  
    //NSLog(@"%@",_hobby);  
}  
  
@end 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内容介绍 项目结构: Controller层:使用Spring MVC来处理用户请求,负责将请求分发到相应的业务逻辑层,并将数据传递给视图层进行展示。Controller层通常包含控制器类,这些类通过注解如@Controller、@RequestMapping等标记,负责处理HTTP请求并返回响应。 Service层:Spring的核心部分,用于处理业务逻辑。Service层通过接口和实现类的方式,将业务逻辑与具体的实现细节分离。常见的注解有@Service和@Transactional,后者用于管理事务。 DAO层:使用MyBatis来实现数据持久化,DAO层与数据库直接交互,执行CRUD操作。MyBatis通过XML映射文件或注解的方式,将SQL语句与Java对象绑定,实现高效的数据访问。 Spring整合: Spring核心配置:包括Spring的IOC容器配置,管理Service和DAO层的Bean。配置文件通常包括applicationContext.xml或采用Java配置类。 事务管理:通过Spring的声明式事务管理,简化了事务的处理,确保数据一致性和完整性。 Spring MVC整合: 视图解析器:配置Spring MVC的视图解析器,将逻辑视图名解析为具体的JSP或其他类型的视图。 拦截器:通过配置Spring MVC的拦截器,处理请求的预处理和后处理,常用于权限验证、日志记录等功能。 MyBatis整合: 数据源配置:配置数据库连接池(如Druid或C3P0),确保应用可以高效地访问数据库。 SQL映射文件:使用MyBatis的XML文件或注解配置,将SQL语句与Java对象映射,支持复杂的查询、插入、更新和删除操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值