C中的面向对象ppt文档
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
public int a; private int b; protected int c; internal int d; private int GetA( ) { return a;} public int GetSum( ) { int r=a+b+c+d; return r;} } class Program { static void Main(string[ ] args) {
using system;
namespace Test
{
class Student
{
public string name;
//姓名
public int age;
//年龄
public void dispdata( )
{ Console.WriteLine(“{0} {1}”, pno, pname); }
readonly
只读成员。这类成员的值只能读,不能写。也就是 说,除了赋予初始值外,在程序的任何部分将无法 更改这个成员的值。
注:internal修饰的成员一个项目里相当于public关键字,因为一个项目默认就 是一个程序集。
using system; namespace Test {
class Access {
Access ac=new Access( ); ac.a=4; ac.b=5; ac.c=7; ac.d=8; ac.GetA( ); ac.GetSum( ); }
6.2静态成员
关于类的数据成员的存放问题……..
6.2.1 静态字段 静态字段是类中所有对象共享的成员,而不是某个对
象的成员,也就是说静态字段的存储空间不是放在每个对 象中,而是和方法一样放在类公共区中。
using system; namespace Test {
class Student {
static int studentCounter=0; public static Student GetStudent( ) {return new Student( );} public static int AddStudent( ) { return ++studentCounter; } public void AddStudentEx( ) { AddStudent( ); ++ studentCounter; } } class Test { public static void Main( ) {
public static int studentCounter; public static int AddStudent( ) { return ++studentCounter; } public void AddStudentEx( ) { ++ studentCounter; } } class Test { public static void Main( ) {
}
class Program
{
static void Main(string[ ] args)
{
Student stu1=new Student( );
Student stu2=null;
=“恭喜”;
stu1.age=20;
stu2=null;
stu1.dispdata( );
stu2.dispdata( );
Student.studentCounter++; Student e=new Student( ); Console.WriteLine(“输出现在的学生数:{0}”, Student.studentCounter); Student.AddStudent( ); Console.WriteLine(“输出现在的学生数:{0}”, Student.studentCounter); e. AddStudentEx( ) ; Console.WriteLine(“输出现在的学生数:{0}”, Student.studentCounter); } } }
6.2.2 静态方法 静态方法与静态字段类似,也是从属于类,都是类的静
态成员。只要类存在,静态方法就可以使用,静态方法的 定义是在一般方法定义前加上static关键字。调用静态方 法的格式如下:
类名.静态方法名(参数表);
注意:静态方法只能访问静态字段、其他静态方法和类 以外的函数及数据,不能访问类中的非静态成员(因为非 静态成员只有对象存在时才有意义)。但静态字段和静态 方法可由任意访问权限许可的成员访问。
对静态字段的操作和一般字段一样,定义为私有的静 态字段不能被外界访问。静态字段的使用方法如下:
(1)静态字段的定义与一般字段相似,但前面要加上 static关键词。 (2)在访问静态字段时采用如下格式:
类名.静态字段名
using system; namespace Test {
class Student {
Student.studentCounter++; Student e=new Student.GetStudent( ); Console.WriteLine(“输出现在的学生数:{0}”, Student.studentCounter); Student.AddStudent( ); Console.WriteLine(“输出现在的学生数:{0}”, Student.studentCounter); e. AddStudentEx( ) ; Console.WriteLine(“输出现在的学生数:{0}”, Student.studentCounter); } } }
C中的面向对象
优选C中的面向对象
6.1 类
6.1.1类的定义 [类的修饰符] class 类名 [:基类名] { [成员访问修饰符]类的成员; }
类nal private abstract sealed
说明 公有类。表示不受限制对该类的访问。 保护类。表示只能从所在类和所在类派生的子类进行访问。 内部类。只有其所在类才能访问。 私有类。只有该类才能访问。 抽象类。表示该类是一个不完整的类,不允许建立类的实例。 密封类。不允许从该类派生新的类。
}
}
}
6.1.2类成员的访问
成员访问修饰符 public
protected internal private
说明 公有的。在程序的任何地方(包括本类和本类外的其他类) 都可以访问。 保护的。表示只能从所在类和所在类派生的子类进行访问。 内部的。本程序集(同一个命名空间)任何地方可以访问。 私有的。只有在本类中才能访问。
using system;
namespace Test
{
class Student
{
public string name;
//姓名
public int age;
//年龄
public void dispdata( )
{ Console.WriteLine(“{0} {1}”, pno, pname); }
readonly
只读成员。这类成员的值只能读,不能写。也就是 说,除了赋予初始值外,在程序的任何部分将无法 更改这个成员的值。
注:internal修饰的成员一个项目里相当于public关键字,因为一个项目默认就 是一个程序集。
using system; namespace Test {
class Access {
Access ac=new Access( ); ac.a=4; ac.b=5; ac.c=7; ac.d=8; ac.GetA( ); ac.GetSum( ); }
6.2静态成员
关于类的数据成员的存放问题……..
6.2.1 静态字段 静态字段是类中所有对象共享的成员,而不是某个对
象的成员,也就是说静态字段的存储空间不是放在每个对 象中,而是和方法一样放在类公共区中。
using system; namespace Test {
class Student {
static int studentCounter=0; public static Student GetStudent( ) {return new Student( );} public static int AddStudent( ) { return ++studentCounter; } public void AddStudentEx( ) { AddStudent( ); ++ studentCounter; } } class Test { public static void Main( ) {
public static int studentCounter; public static int AddStudent( ) { return ++studentCounter; } public void AddStudentEx( ) { ++ studentCounter; } } class Test { public static void Main( ) {
}
class Program
{
static void Main(string[ ] args)
{
Student stu1=new Student( );
Student stu2=null;
=“恭喜”;
stu1.age=20;
stu2=null;
stu1.dispdata( );
stu2.dispdata( );
Student.studentCounter++; Student e=new Student( ); Console.WriteLine(“输出现在的学生数:{0}”, Student.studentCounter); Student.AddStudent( ); Console.WriteLine(“输出现在的学生数:{0}”, Student.studentCounter); e. AddStudentEx( ) ; Console.WriteLine(“输出现在的学生数:{0}”, Student.studentCounter); } } }
6.2.2 静态方法 静态方法与静态字段类似,也是从属于类,都是类的静
态成员。只要类存在,静态方法就可以使用,静态方法的 定义是在一般方法定义前加上static关键字。调用静态方 法的格式如下:
类名.静态方法名(参数表);
注意:静态方法只能访问静态字段、其他静态方法和类 以外的函数及数据,不能访问类中的非静态成员(因为非 静态成员只有对象存在时才有意义)。但静态字段和静态 方法可由任意访问权限许可的成员访问。
对静态字段的操作和一般字段一样,定义为私有的静 态字段不能被外界访问。静态字段的使用方法如下:
(1)静态字段的定义与一般字段相似,但前面要加上 static关键词。 (2)在访问静态字段时采用如下格式:
类名.静态字段名
using system; namespace Test {
class Student {
Student.studentCounter++; Student e=new Student.GetStudent( ); Console.WriteLine(“输出现在的学生数:{0}”, Student.studentCounter); Student.AddStudent( ); Console.WriteLine(“输出现在的学生数:{0}”, Student.studentCounter); e. AddStudentEx( ) ; Console.WriteLine(“输出现在的学生数:{0}”, Student.studentCounter); } } }
C中的面向对象
优选C中的面向对象
6.1 类
6.1.1类的定义 [类的修饰符] class 类名 [:基类名] { [成员访问修饰符]类的成员; }
类nal private abstract sealed
说明 公有类。表示不受限制对该类的访问。 保护类。表示只能从所在类和所在类派生的子类进行访问。 内部类。只有其所在类才能访问。 私有类。只有该类才能访问。 抽象类。表示该类是一个不完整的类,不允许建立类的实例。 密封类。不允许从该类派生新的类。
}
}
}
6.1.2类成员的访问
成员访问修饰符 public
protected internal private
说明 公有的。在程序的任何地方(包括本类和本类外的其他类) 都可以访问。 保护的。表示只能从所在类和所在类派生的子类进行访问。 内部的。本程序集(同一个命名空间)任何地方可以访问。 私有的。只有在本类中才能访问。