10.3 密封类与密封方法 如果所有的类都可以被继承,那么很容易导致继承的滥用,进而使类的层次结构体系变得十分复杂,这样使得开发人员对类的理解和使用变得十分困难,为了避免滥用继承,C#中提出了密封类的概念。本节将对类和方法的密封进行详细介绍。 10.3.1 密封类概述及声明 密封类可以用来限制扩展性 ...
在类模板中可以出现三种友元声明:(1)普通非模板类或函数的友元声明,将友元关系授予明确指定的类或函数。(2)类模板或函数模板的友元声明,授予对友元所有实例的访问权。(3)只授予对类模板或函数模板的特定实例的访问权的友元声明。 要注意的是,友元函数并非成员函数,是改变了它对类成员的访问权限。 (1)没 ...
分类:
编程语言 时间:
2017-03-31 15:44:43
阅读次数:
218
自定义特性 在说自定义之前,有必要先介绍一些基本的概念. 元数据:就是C#中封装的一些类,无法修改,类成员的特性被称为元数据中的注释 1.什么是特性? (1)属性和特性的区别 属性:属性是面向对象思想里所说的封装在类里面的数据字段,Get,Set方法. 特性:就相当于类的元数据. 来看看官方解释? ...
这是指针成员运算符,你申明了一个结构或或类的指针,你就可以用指针加->调用结构体成员或类成员函数C只有结构体c++既有结构体也有类用 #include <filename.h> 格式来引用标准库的头文件(编译器将从标准库目录开始搜索)用 #include “filename.h” 格式来引用非标准库 ...
分类:
编程语言 时间:
2017-03-29 10:22:09
阅读次数:
186
虽然Ice内核是c++项目,但看它的代码可能会怀疑自己是不是在看java代码,不少地方随处都在使用嵌套类或局部类进步委托或异步。 本篇来说说嵌套类或局部类,至于如何写嵌套类或局部类不是本篇内容。 ...
分类:
其他好文 时间:
2017-03-27 21:45:02
阅读次数:
194
一、强类型 在编译时就知道的类型。如: int i=1; 能点出来的也是强类型。 二、弱类型 在运行时才知道的类型。 dynamic dynamic= new ExpandoObject(); dynamic.Name = "张三"; 通过索引器读出来的是弱类型。如:dr["id"]; 三、推断类型 ...
分类:
其他好文 时间:
2017-03-27 18:34:42
阅读次数:
164
托管 托管代码 (managed code) :由公共语言运行库环境(而不是直接由操作系统)执行的代码。托管代码应用程序可以获得公共语言运行库服务,例如自动垃圾回收、运行库类型检查和安全支持等。这些服务帮助提供独立于平台和语言的、统一的托管代码应用程序行为。 Unmanaged Code - 非托管 ...
1.继承extends(也叫扩展) 引入 首先写两个类: //定义学生类 class Student { //成员变量 private String name; private int age; //空构造 public Student(){} //getXxx()/setXxx() public ...
分类:
编程语言 时间:
2017-03-26 00:11:42
阅读次数:
151
内部类 (1)把类定义在另一个类的内部,该类就被称为内部类。 举例:把类B定义在类A中,类B就被称为内部类。 (2)内部类的访问规则 A:可以直接访问外部类的成员,包括私有 B:外部类要想访问内部类成员,必须创建对象 (3)内部类的分类 A:成员内部类 B:局部内部类 (4)成员内部类 A:priv ...
分类:
编程语言 时间:
2017-03-25 22:34:58
阅读次数:
161
内部类:如果A类需要直接访问B类中的成员,而B类又需要建立A类的对象。这时,为了方便设计和访问,直接将A类定义在B类中。就可以了。A类就称为内部类。内部类可以直接访问外部类中的成员。而外部类想要访问内部类,必须要建立内部类的对象。 class Outer{int num = 4;class Inne ...
分类:
编程语言 时间:
2017-03-25 18:26:21
阅读次数:
197