社区
非技术区
帖子详情
请问局部类和嵌套类什么时候用?
PhoenixWaVe
2003-09-05 03:55:09
书上说很少用到
...全文
13
1
打赏
收藏
请问局部类和嵌套类什么时候用?
书上说很少用到
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wengzuliang
2003-09-05
打赏
举报
回复
由于类的嵌套会造成概念上的混乱,所以一般都没有用。
在java中干脆就不允许类的嵌套定义了
C/C++
局部
类
和
嵌套
类
局部
类
局部
类
是指在[removed];” onClick=”[removed]tagshow(event, ‘函数’);” target=”_self”>函数中定义
类
。 (c++不能在函数中定义函数。c++在
类
中定义的函数也是成员函数。)这个
类
以及由它创建的对象,都局限在该函数作用域中;必须在
类
内实现所有的成员函数,不能拿到
类
外。因为函数是不可以
嵌套
定义的;若
类
内含有静态数据成员,必须在该函数外初始化;
类
内不可含有静态函数成员;
类
中不可使用包裹它的函数所定义的除静态外的
局部
变量。 c++内部
类
与java内部
类
大的区别是: c++的内部
类
对象没有外部
类
对象的指针
C++
嵌套
类
与
局部
类
详细解析
1.
嵌套
类
外围
类
需要使用
嵌套
类
对象作为底层实现,并且该
嵌套
类
只用于外围
类
的实现,且同时可以对用户隐藏该底层实现。从作用域的角度看,
嵌套
类
被隐藏在外围
类
之中,该
类
名只能在外围
类
中使用。如果在外围
类
之外的作用域使用该
类
名时,需要加名字限定。
嵌套
类
中的成员函数可以在它的
类
体外定义。
嵌套
类
的成员函数对外围
类
的私有成员没有访问权,反之亦然。
嵌套
类
仅仅只是语法上的嵌入。 2.
局部
类
类
也可以定义在函数体内,这样的
类
被称为
局部
类
(loacl class)。
局部
类
只在定义它的
局部
域内可见。
局部
类
的成员函数必须被定义在
类
体中。
局部
类
中不能有静态成员函数。 在实践中,
局部
类
很少使用。 下面给出一段代码
几行代码带你彻底搞懂Java内部
类
内部
类
基本概述语法格式成员内部
类
局部
内部
类
匿名内部
类
静态
嵌套
类
静态
嵌套
类
和非静态
嵌套
类
的区别 内部
类
基本概述 当一个
类
的定义放在另一个
类
的实体时,则该
类
叫做内部
类
,该
类
所在的
类
叫做外部
类
在一个
类
体中可以出现的内容:成员变量、成员方法、构造方法、构造块、静态语句块、静态变量、方法、内部
类
嵌套
类
内部
类
(成员内部
类
、
局部
内部
类
、匿名内部
类
) 静态
嵌套
类
语法格式 class 外部
类
类
名{ class 内部
类
类
名{ 内部
类
类
体; } } 成员内部
类
成员内部
类
定义在另一个
类
或接口中的内部
类
注意事项 必须先创建外部
类
对象才能创建成员内部
类
对象 不能含有静态变量、静态代码块、静态方
C#匿名委托和Java匿名
局部
内部
类
使用方法示例
Java在
嵌套
类
型这里提供的特性比较多,假设:Java的字节码只支持静态
嵌套
类
,内部
类
、
局部
内部
类
和匿名
局部
内部
类
都是编译器提供的语法糖,这个假设目前没法验证(看不懂字节码),本文先来看一下C#是如何为我们提供的这种语法糖
嵌套
类
和
局部
类
嵌套
类
和
局部
类
在工作中极少使用,且均可在设计上替代,这里仅做简要介绍。1)
局部
类
局部
类
就是将
类
定义在函数中。形如:int val = 100;void foo(int val){ struct Bar { }; class Bar::InsideClass//定义InsideClass
类
{ }; }2)
嵌套
类
嵌套
类
就是将一个
类
定义在另一个
类
中。形如:class Interface{publ...
非技术区
15,440
社区成员
58,166
社区内容
发帖
与我相关
我的任务
非技术区
C/C++ 非技术区
复制链接
扫一扫
分享
社区描述
C/C++ 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章