当前位置:  编程技术>综合
本页文章导读:
    ▪Linux下用vi 打开文件出现乱码      环境   RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9 + Putty 0.62 + MySQL 3.2            问题  Linux下用vi 打开文件出现乱码   解决   强烈推荐参考此文:.........
    ▪Linux查看程序端口占用情况      环境   RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9 + MySQL 3.2   问题   Linux查看程序端口占用情况   解决 1.       方法一   ps -aux | grep mysql   2.  &n.........
    ▪Objective-C学习笔记九:继承一          接上文     继承是面向对象的一个核心概念。在Objective-C的继承体系中,位于最顶层的根类是NSObject,类比Java中的java.lang.Object类,我们定义的所有类都是它的子类。子.........

[1]Linux下用vi 打开文件出现乱码
    来源: 互联网  发布时间: 2013-11-10
环境

 

RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9 + Putty 0.62 + MySQL 3.2

        

 

问题

 Linux下用vi 打开文件出现乱码

 

解决

 

强烈推荐参考此文:Putty远程连接Linux服务器出现乱码解决

 

执行LANG=zh_CN.utf-8修改当前环境语言常量。

 

参考资料

 

VIM 文件编码识别与乱码处理

http://edyfox.codecarver.org/html/vim_fileencodings_detection.html

 

linux中vi显示中文乱码的问题 

http://blog.163.com/little_320/blog/static/38789520091116103325859/

 

 

 

  @Wentasy 博文仅供参考,欢迎大家来访。如有错误之处,希望批评指正。原创博文如需转载请注明出处,谢谢 :) [CSDN博客]
作者:Wentasy 发表于2013-1-12 20:20:12 原文链接
阅读:0 评论:0 查看评论

    
[2]Linux查看程序端口占用情况
    来源: 互联网  发布时间: 2013-11-10
环境

 

RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9 + MySQL 3.2

 

问题

 

Linux查看程序端口占用情况

 

解决

1.       方法一

 

ps -aux | grep mysql


 

2.       方法二

 

netstat -anp | grep mysql


 

参考资料

 

Linux查看程序端口占用情况

http://www.cnblogs.com/benio/archive/2010/09/15/1826728.html

 

linux上使用netstat察看mysql端口和连接

http://www.blogjava.net/aoxj/archive/2008/02/22/181316.html

 

 

  @Wentasy 博文仅供参考,欢迎大家来访。如有错误之处,希望批评指正。原创博文如需转载请注明出处,谢谢 :) [CSDN博客]
作者:Wentasy 发表于2013-1-12 20:16:58 原文链接
阅读:0 评论:0 查看评论

    
[3]Objective-C学习笔记九:继承一
    来源:    发布时间: 2013-11-10
    接上文
    继承是面向对象的一个核心概念。在Objective-C的继承体系中,位于最顶层的根类是NSObject,类比Java中的java.lang.Object类,我们定义的所有类都是它的子类。子类也叫扩展类或派生类。
    我们之前使用的分数类Fraction就是NSObject类的派生类。继承使得子类可以从父类中获得一些属性和已有方法。要注意的是如果子类中要直接使用父类继承过来的实例变量,那么必须将变量声明在接口部分中,而在实现部分声明的变量,子类无法继承使用。在实现部分声明和synthesize的实例变量都是私有的,子类不能直接访问,需要提供设置值和取值方法才可以访问这些变量。
    看下面这个例子,我们来具体看看继承的实现:
#import <Foundation/Foundation.h>
@interface ClassA:NSObject
{
    int n;
}
-(void) initVar;
@end

@implementation ClassA
-(void) initVar
{
    n=406;
}
@end

@interface ClassB:ClassA
-(void) printVar;
@end

@implementation ClassB
-(void) printVar
{
    NSLog(@"n=%i",n);
}
@end

int main(int argc, const char * argv[])
{
    @autoreleasepool{
        ClassB *clsB=[ClassB new];
        [clsB initVar];
        [clsB printVar];
    }
    return 0;
}

    编译运行后,我们得到如下结果:



    下面来解释这个程序,该程序中我们定义了两个类ClassA和ClassB,ClassA的父类是NSObject,这是Objective-C中的根类,ClassB继承自ClassA,那么ClassB也间接继承了NSObject类。定义ClassA的接口时,我们定义了一个变量n,那么子类ClassB才能访问到它,ClassA中定义了方法initVar,而ClassB中定义了方法printVar。在执行主函数时,首先创建了ClassB对象,使用initVar来初始化参数,initVar是ClassA中的方法,此时使用ClassB类的引用指针来调用就体现了继承的观点。然后再执行printVar方法,我们就看到了结果。
    这里我们使用new来创建对象,是我们用它来代替alloc和init方法,这两个方法我们没有定义却直接使用了,说明它是从根类NSObject中继承而来的。之前代码中的示例也一直使用到了继承。
    我们将代码修改如下:
#import <Foundation/Foundation.h>
@interface ClassA:NSObject
{
    int n;
}
-(void) initVar;
-(void) setVar:(int) m;
-(void) print;
@end

@implementation ClassA
-(void) initVar
{
    n=406;
}
-(void) setVar:(int) m
{
    n=m;
}
-(void) print
{
    NSLog(@"n=%i",n);
}
@end

@interface ClassB:ClassA
-(void) printVar;
@end

@implementation ClassB
-(void) printVar
{
    NSLog(@"n=%i",n);
}
@end

int main(int argc, const char * argv[])
{
    @autoreleasepool{
        ClassA *clsA=[[ClassA alloc] init];
        ClassB *clsB=[ClassB new];
        [clsB initVar];
        [clsB printVar];

        [clsA setVar:10];
        [clsA print];
        [clsB printVar];


    }
    return 0;
}

    再次编译运行,我们得到如下输出:



    这里我们在主函数中创建了对象ClassA,并且为A提供了设置值和打印方法。那么程序中间我们重新设置了ClassA的属性n,然后再打印值来看。那么这个结果告诉我们一个事实:类的每个实例都有自己的实例变量,即便这些变量是继承来的,那么对于父类中的变量修改,子类中的值无影响。ClassB和ClassA拥有完全不同的实例变量。
    下面我们继续来深入理解继承,首先设计一个矩形类Rectangle,代码如下:
#import <Foundation/Foundation.h>

@interface Rectangle : NSObject

@property int width,height;

-(int) area;
-(int) perimeter;
-(void) setWidth:(int) w andHeight:(int) h;
@end

    实现文件如下:
#import "Rectangle.h"

@implementation Rectangle

@synthesize width, height;

-(int) area
{
    return width*height;
}

-(int) perimeter
{
    return (width+height)*2;
}

-(void) setWidth:(int)w andHeight:(int)h
{
    width=w;
    height=h;
}
@end

    主函数如下:
#import "Rectangle.h"

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        Rectangle *rect=[Rectangle new];
        
        [rect setWidth:10 andHeight:23];
        
        NSLog(@"Rectangle: width=%i, height=%i",rect.width,rect.height);
        NSLog(@"Area = %i, Perimeter = %i",rect.area,rect.perimeter);
    }
    return 0;
}

    编译运行,得到如下结果:



    这个矩形类的定义很简单,定义了长和宽两个变量,定义了设置长和宽的方法,求面积方法和求周长方法。直接运行即可得到结果并不复杂。如果我们需要一个正方形类,该如何设计呢?正方形是矩形的一个特殊情况,就是长宽相等,那么可以将正方形类视作矩形类的子类,那么我们创建这个类,并编写如下代码:
#import "Rectangle.h"

@interface Square : Rectangle

-(void) setSide:(int) s;
-(int) side;
@end

    编写正方形类Square的实现:
#import "Square.h"

@implementation Square

-(void) setSide:(int)s
{
    [self setWidth:s andHeight:s];
}

-(int) side
{
    return self.width;
}
@end

    编写测试的主函数:
#import "Square.h"

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        Square *square = [Square new];
        
        [square setSide:10];
        
        NSLog(@"Square: s=%i",[square side]);
        NSLog(@"Area = %i, Perimeter = %i",square.area,square.perimeter);
    }
    return 0;
}

    编译运行,我们得到如下结果:



    这里我们定义的Square类继承了Rectangle类,并定义了setSide和side方法用于设置边长和返回边长,那么在实现方法中。setSide方法使用了self关键字调用了父类的setWidth addHeight方法,这也是继承的体现。那么side 方法返回边长即可,注意这里的self.width其实是[self width],父类中我们使用了@synthesize指令,那么对私有属性width就提供了访问方法,而方法名和属性名同名,但是要清楚这里我们是调用的方法而不是属性,这点理解是很重要的。
    接下文

已有 0 人发表留言,猛击->>这里<<-参与讨论


ITeye推荐
  • —软件人才免语言低担保 赴美带薪读研!—




    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3