类方法、作用域

原创 2011年10月13日 17:17:41
 objective-c类方法 +,实例方法 -
类方法也称静态方法,类方法不可直接使用实例变量。调用方式:直接调用、类名.方法、对象名.方法。
实例方法调用方法只能是对象名.方法。

C/C++中变量可以分为全局变量、静态全局变量、静态局部变量和局部变量
按存储区域分:全局变量、静态全局变量和静态局部变量都存放在内存的全局数据区,局部变量存放在内存的栈区
按作用域分:全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。
全局变量和静态变量如果没有手工初始化,则由编译器初始化为0。局部变量的值不可知。

作用域
protected -定义下的实例变量可被该类及任何子类中定义的方法直接访问。
private -定义下的实例变量可被定义在该类的方法直接访问,不能被子类中定义的方法访问。
public -定义下的实例变量可被该类中定义的方法直接访问,也可被其他类或模块中定义的方法直接访问。
package -定义下的实例变量可被此包中的所有类方法访问。
外部变量 extern
在一个文件的定义一个全局变量 如: int fMoveNumber=0;
外部变量就是访问其他文件中定义的全局变量 如:extern int fMoveNumber.

多态
相同的名称、不同的类。使不同的类共享相同的方法名称的能力。
动态绑定和id类型
id-通用的对象类型,可以用来存储属于任何类的对象 如id student(注意不需要*)
将一个变量定义为特定类的对象时,使用静态形态。
使用动态类型调用一个方法,注意如果在多个类中实现名称相同的方法,那么每个方法都必须符合各个参数的类型和返回值类型。

 

(JS函数与作用域)[用OOP的思想来学习JavaScript]{第6章}

JavaScript已经成为当今最流行的语言,是基于Java的一种非常松散的面向对象语言,是数亿网民受益的最新动态语言,增强了与用户的交互性。 本课程将毫无保留的将作者积累的开发经验分享给大家,知识点深入浅出,详略得当。技能都来自实际开发的经验,在本课程中,也会将JavaScript开发的常见的“坑”让大家去填满,填满后你离JavaScript高级开发又进了一步。
  • 2017年05月06日 16:10

类的方法作用域

PHP支持6种作用域:public、private、protected、abstract、final 和 static。 public 公共方法可以在任何位置任何时间访问。在方法前面加上关...
  • Daniel960601
  • Daniel960601
  • 2016-05-24 18:27:15
  • 431

子类与父类作用域的一点认识

记住一个原则:(1)通过对象调用属性,只看类型,不看对象;                      (2)通过对象调用方法,只看对象,不看类型; 举个例子: public class Father ...
  • rensly
  • rensly
  • 2008-04-29 22:15:00
  • 189

四大作用域

JSp
  • Afdfssv
  • Afdfssv
  • 2015-09-16 23:41:13
  • 2093

Objective-C中的作用域详解

在Objective-C中,可以使用几种方式影响程序中变量的作用域。可以改变实例变量以及定义在函数外部或内部的普通变量的作用域。在下面的讨论中,我们使用术语模块(module)来引用包含在一个源文件中...
  • chang6520
  • chang6520
  • 2012-10-16 18:45:46
  • 3660

子类前缀要怎么写才能覆盖父类的abstract方法???

结论:子类中的方法作用域要比父类abstract方法的作用域广,这样父类作用域会被子类同样方法的作用域完全覆盖。。。父类前缀是默认的话,子类不能用private。。。。父类是protected,子类可...
  • qq_39632912
  • qq_39632912
  • 2018-01-09 23:40:17
  • 61

OC 中,子类覆盖父类属性 详解

http://segmentfault.com/a/1190000002904657 OC 中,覆盖属性会有怎么样的化学反应? 在编写一个自定义相册的功能的时候,由于需要继承 UINavi...
  • jeffasd
  • jeffasd
  • 2016-01-07 13:21:58
  • 6743

c++ 子类“重载”父类的方法

其实,并没有‘子类“重载”父类的方法’这种说法。 《C++Primer Plus》 中说道: 如果基类声明被重载了,则应该在派生类中重新定义所有的基类版本。 如果在派生类中只重新定义一个版本,其他版本...
  • aa13058219642
  • aa13058219642
  • 2016-07-07 00:23:29
  • 3156

object-c 子类覆盖父类属性 详解

// // main.m // test_OC_chind_super_one // // Created by admin on 1/7/16. // Copyright © 2016 je...
  • jeffasd
  • jeffasd
  • 2016-01-07 13:25:54
  • 603

关于protect作用域的问题

在做hivesql解析代码阅读时,发现当子类和父类在不同的包里面,没有办法访问父类的protect修饰的方法,后来才发现自己理解错了,不是不同包的子类不能访问父类protected的方法和变量,而是在...
  • taizitj
  • taizitj
  • 2016-11-17 10:18:44
  • 502
收藏助手
不良信息举报
您举报文章:类方法、作用域
举报原因:
原因补充:

(最多只允许输入30个字)