- 浏览: 1756822 次
- 性别:
- 来自: 大连
博客专栏
-
Spring数据库访问系列...
浏览量:173650
-
Android学习笔记
浏览量:368105
-
iBatis开发详解
浏览量:189251
-
Objective-C学习...
浏览量:99823
最新评论
-
iLidy:
引用[/c
Hibernate持久化对象的生命周期详解 -
fengzigogo:
您好,有这个项目架构的源码下载地址吗?
一种Java Web应用开发框架的构建(基于Struts2+Spring+FreeMarker)之一 -
spring_springmvc:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
用Maven构建Java Web开发环境(Jetty容器)之二 -
springdata_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
Spring 3之MVC & Security简单整合开发(二) -
赵庆辉:
看帖回复是美德,楼主讲的很清晰明了,看了豁然开朗.
Java String对象的经典问题(new String())
文章列表
接上文
之前介绍过变量和数据类型,那么我们来看看Objective-C中更深层次的变量和数据类型。比如我们要初始化一个分数类,可以使用如下代码:
Fraction *fraction = [[Fraction alloc] init];
那么为了简便,我们已经将代码简化为:
Fraction *fraction = [[Fraction new];
此时,若想对分数进行赋值,那么必须再写一个方法来完成,而new也是达不到这个效果的,很显然这里我们需要对分数类进行业务初始化,使得其创建好就具备数值,那么这个业务初始化方法可以这么来写:
#import & ...
接上文
多态是一个典型的面向对象概念。Objective-C中的多态可以使得来自不同类的对象定义同名方法。
我们来看下面的示例,分数类Fraction我们已经多次涉及到了,我们来回顾一下我们分数类的定义:
#import <Foundation/Foundation.h>
@interface Fraction : NSObject
@property int numerator,denominator;
-(void) print;
-(double) convertToNum;
-(void) setTo:(int) n over ...
Objective-C学习笔记十:继承二
- 博客分类:
- 积少成多
接上文
之前定义了矩形类Rectangle,那么我们如果要在桌面上生成这样一个矩形,就需要定位了。为了简便,我们定义桌面的左下角为直角坐标系(笛卡尔坐标系)的原点,横向向右为X轴正向,竖向向上为Y轴正向。那 ...
接上文
继承是面向对象的一个核心概念。在Objective-C的继承体系中,位于最顶层的根类是NSObject,类比Java中的java.lang.Object类,我们定义的所有类都是它的子类。子类也叫扩展类或派生类。
我们之前使用的分数类Fraction就是NSObject类的派生类。继承使得子类可以从父类中获得一些属性和已有方法。要注意的是如果子类中要直接使用父类继承过来的实例变量,那么必须将变量声明在接口部分中,而在实现部分声明的变量,子类无法继承使用。在实现部分声明和synthesize的实例变量都是私有的,子类不能直接访问,需要提供设置值和取值方法才可以访问这些 ...
接上文
我们继续来扩展分数类Fraction,两个分数相加,再不考虑它们是不是最简分数的情况下,有下面的公式成立:a/b+c/d=(ad+bc)/bd,那么我们在Fraction类中添加一个add方法,代码如下:
#import <Foundation/Foundation.h>
@interface Fraction : NSObject
@property int numerator,denominator;
-(void) print;
-(double) convertToNum;
-(void) setTo:(int) n over ...
接上文
HTML5出现之前,我们在Wweb开发中并没有现成的日期选择器和时间选择器来用,都是通过第三方组件来引入的,比如jQuery UI的DatePicker组件。而在Android中,我看可以使用系统为我们原生提供的日期选择器DatePicker和时间选择器TimePicker。
首先来看一下日期选择器DatePicker的文档:
其继承结构为:
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.FrameLayout ...
接上文
我们还是结合之前分数的示例来说明,只是更为详尽。使用XCode创建新的项目Fraction,然后创建Fraction类,此时XCode为我们生成两个文件:Fraction.h和Fraction.m。我们在Fraction.h这个头文件中定义分数类Fraction,在Fraction.m中编写分数类的实现代码,在main.m中编写测试程序。那么在XCode中我们得到如下的项目结构:
来看下头文件中的类定义:
//
// Fraction.h
// Fraction
//
// Created by Nan Lei on 13-1-1.
// ...
接上文
之前介绍的都是独立的if选择结构,其实if语句也可以嵌套,也就是在一个if中嵌套另一个if/if-else语句,这个嵌套的if语句可以放在if块中,也可以放在else块中,那就要看具体的业务是怎么确定的。看下面这个程序示例:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool{
char c;
NSLog(@"Please input a single ch ...
接上文
选择结构,或者称为分支结构,是编程语言中程序结构的一种,它表示进行一种判断,比如进行循环的时候判断何时终止循环。
选择结构语句包括if和switch,这和其它编程语言都是一样的,表示程序中可以有的选择分支。
首先来看下if语句。if语句包括单if语句,if-else语句和if-else if语句。单if语句只是对一个条件进行判断,符合改条件时执行某语句;if-else语句也是对某一条件进行判断,但是加入了不符合该条件的else语句部分;而if-else if语句则是对多个条件进行逐一判断的语句。if语句表示的选择结构符合自然语言,也就是“如果...就... ...
接上文
布局管理器的嵌套就是将多种布局管理器混合使用,以达到复杂布局的排版效果。如果一个布局页面效果复杂,可能使用一种布局管理器无法完成,那么我们就需要将多种布局管理器嵌套起来以达到显示效果。在Web开发中,编写的CSS基本都是设置嵌套元素的样式的,这个理念是类似的。
几种布局管理器都已经介绍过了,我们直接在Eclipse中建立新的项目来说明:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://sch ...
接上文
和其它编程语言一样,Objective-C也提供循环结构的语法,包括for循环,while循环和do-while循环。循环的本质就是重复一定的次数来执行某语句,一般应用循化结构基本就是累加或者遍历对象以便操作。
...
接上文
有相对布局管理器,对应的,我们还有绝对布局管理器。这和CSS中的定位布局是类似的。CSS中我们可以通过相对布局管理器对HTML元素进行布局,也可以通过绝对布局定位通过指定top,left等属性来为元素进行布局。而在Android之中,我们还有一个绝对布局管理器可以做到同样的效果。
首先说明绝对布局管理器是已经在Android 2.3之后被废弃了,是不建议使用的。但绝对布局管理器却是布局管理器中最早的一种,下面来看一下绝对布局管理器的文档:
文档已经说明,这是被废弃的布局管理器,而它的继承结构为:
java.lang.Object
↳ androi ...
接上文
任何编程语言都会有数据类型,比如在Java中,数据类型可分为基本数据类型(如int,long等)和引用类型(类类型,如String等)。数据类型在所有语言中又是大同小异的。在O-C中我们已经见过int,那么还有三种最基本的数据类型,float,double和char。
int类型表示整数,float和double表示浮点数,只是double可以表示更大的范围,char表示单个字符,如果在O-C中使用字符串,可以使用NSString类型,就是之前我们见过的@""部分。
下面来看一段代码,测试基本数据类型的使用:
#import < ...
接上文
从字面来理解Objective-C就是对象化的C,那么也就是说O-C是对C的扩展,加入了对象的概念。当然C++也是有对象概念的,只是两者的编译环境有所不同。
面向对象的概念不是针对某一种编程语言而言的,它是一种程序设计思想。最基本的面向对象包括了类,对象和方法这三个概念。举日常生活中的例子,比如10路公交车,10路有几十辆车,每一辆车都是一个对象,10路并不是拥有任意一辆车,而是分配给它的特定的车。每一辆车都会有一个编号,这在公交系统中是唯一的。
那么在面向对象术语中,10路的任意一辆车都是公交车的一个实例。定义Vehicle为汽车类的类名,那么一辆车就是 ...
接上文
相对布局管理器是基于一个参考点而言的布局管理器。就像Web开发中的相对路径的概念,是基于一定的参考点而创建的。在Android中的相对布局管理器就是在一个参考点的四周(上,下,左,右)布局的管理器。 ...