C#复习要点与解析(3)

2019-08-26 18:40

// 输出方法

public void PrintChild() {

Console.WriteLine(\, name, age); } }

public class Program {

public static void Main() {

//使用new关键字创建对象,new后是调用的构造函数 Child child1 = new Child(\, 11); Child child2 = new Child(\, 10); Child child3 = new Child(); // 显示结果

Console.Write(\); child1.PrintChild();

Console.Write(\); child2.PrintChild();

Console.Write(\); child3.PrintChild(); Console.ReadLine(); } } }

访问修饰符public、protected、private的含义,静态成员的关键字是什么? public:指任何外部的类都可以不受限制的存取这个类的方法和数据成员 protected:除了本身的类可以使用之外,任何继承自此类了的类都可以存取 private:指类中的所有方法和数据成员只能在此类中使用,外部无法存取 静态成员关键字:static 2、构造函数特点:

构造函数总是和其类名相同 构造函数不包括任何返回值 每个类至少有一个构造函数

构造函数可以用private修饰吗?(可以) 3、结构和类的区别

(1)结构是一个值类型,保存在栈上,而类是一个引用类型,保存在受管制的堆上 (2)对结构中的数据进行操作,比类或对象中的数据进行操作速度要快

(3)一般用结构存储多种数据类型的数据,当创建一个很多类或对象共用的小型对象时,使用结构效率更高

(凡是定义为结构的,都可以用类来定义,创建轻量级对象时可以使用结构) 4、方法的参数传递中,值参传递及引用类型的参数传递 例4-6方法中值类型参数的传递 using System;

namespace ValueTransferExample {

class Program {

public static void AddOne(int a)

{

a++; }

static void Main() {

int a = 3;

Console.WriteLine(\调用AddOne之前,a={0}\, a); AddOne(a);

Console.WriteLine(\调用AddOne之后,a={0}\, a); Console.ReadLine(); } } }

例4-7方法中引用类型参数的传递 using System;

namespace ReferenceTransferExample {

class Program {

public static void AddOne(ref int a) {

a++; }

static void Main() {

int x = 3;

Console.WriteLine(\调用AddOne之前,x={0}\, x); AddOne(ref x);

Console.WriteLine(\调用AddOne之后,x={0}\, x); Console.ReadLine(); } } }

重载方法如何调用。例4-10方法重载的用法 using System;

namespace MethodOverloadingExample {

class Program {

public static int Add(int i, int j) {

return i + j; }

public static string Add(string s1, string s2) {

return s1 + s2; }

public static long Add(long x) {

return x + 5; }

static void Main() {

Console.WriteLine(Add(1, 2)); Console.WriteLine(Add(\, \)); Console.WriteLine(Add(10)); //按回车键结束

Console.ReadLine(); } } }

5、课后习题

1、编写一个控制台应用程序,完成下列功能。

(1)创建一个类,用无参数的构造函数输出该类的类名。

(2)增加一个重载的构造函数,带有一个string类型的参数,在此构造函数中将传递的字符串打印出来。 (3)在Main方法中创建属于这个类的一个对象,不传递参数。

(4)在Main方法中创建属于这个类的另一个对象,传递一个字符串“This is a string.”。 (5)在Main方法中声明类型为这个类的一个具有5个对象的数组,但不要实际创建分配到数组里的对象。 (6)写出运行程序应该输出的结果。 【解答】

using System; class Test1 {

public Test1() {

Console.WriteLine(this); }

public Test1(string str) {

Console.WriteLine(str); }

public static void Main() {

Test1 t1 = new Test1();

Test1 t2 = new Test1(\ Test1[] t3 = new Test1[5]; } }

输出结果:

Test1

This is a string.

4、结构和类的区别是什么? 【解答】

1)结构是一个值类型,保存在栈上,而类是一个引用类型,保存在受管制的堆上。 2)对结构中的数据进行操作比对类或对象中的数据进行操作速度要快。

3)一般用结构存储多种类型的数据,当创建一个很多类或对象共用的小型对象时,使用结构效率更高。

五、面向对象的高级编程

1、面向对象编程的三大原则:封装、继承、多态

2、类对象的构造顺序。例5-1基类和扩充类的定义及用法 using System;

namespace InheritanceExample

{

public class Animal {

public int MyProperty { get; set; } public Animal() {

Console.WriteLine(\基类构造函数:Hello, Animal!\); }

public void Eat() {

Console.WriteLine(\基类方法:Eating\); } }

public class Cat : Animal {

public Cat() {

Console.WriteLine(\扩充类构造函数:Hello, Cat!\); }

public void Walk() {

Console.WriteLine(\基类方法:Walk\); } }

class Program {

static void Main(string[] args) {

Cat cat = new Cat(); cat.Eat();

Console.ReadLine(); } } }

3、virtual、override关键字和new关键字的含义

virtual:表示某个方法或者属性可以被扩充类中同名的方法或者属性重写 new:隐藏基类中同名的方法或属性 六、窗体、控件和组件

1、窗体的创建、显示、隐藏和关闭

Show方法和ShowDialog方法的区别:Show方法将窗体显示出来后就立即返回,接着执行Show方法后面的语句,因此打开窗口不会阻止用户与应用程序中的其他窗口交互,此类型的窗口称为“无模式”窗口。

ShowDialog方法将窗体显示出来以后,在该窗体关闭之前应用程序中的所有其他窗口都会被禁用,并且仅在该窗体关闭后才继续执行ShowDialog方法后面的代码,此类型窗口称为“模式”窗口。 Hide方法和Close方法的区别:

Hide方法是将其隐蔽,隐藏后其实例仍然存在。Close方法是直接关闭窗口。 2、如何设置窗体为多文档窗体? 用IsMDIContainer属性 3、表6-2的常用属性

Enabled:决定控件是否可用,取值为true时可用,取值为false时不可用。 BackColor:设置控件的背景色。

ForeColor:设置控件的前景色,即控件上文本的颜色。

Visible:决定控件是否可见,取值为true时可见,取值为false时不可见。 4、控件的Dock属性和Anchor属性的含义

Dock:其用途是使控件与窗体边缘对齐。此属性制定控件在窗体中的驻留位置,其属性设置有Left<停靠窗体的左侧>Right、Top、Bottom,Fill<占据窗体中的所有剩余空间>None<不在任何位置停靠,它显示在由Location属性指定的位置> 5、TextBox控件常用属性

Multiline:决定文本框控件是否可以包含多行内容。当该属性为false时,TextBox的Width属性可以更改,但Height属性是固定的,即只允许输入单行文本,当该属性值为true时,TextBox的Width属性和Height属性均可更改,也可直接由鼠标拉动改变文本框的大小,以支持多行文本的输入和显示。 PasswordChar:作为密码输入文本框,在输入字符时,文本框中所要显示代替密码的屏蔽字符。(注意:TextBox控件还有一个UseSystemPasswordChar属性,若该属性为true,则无论在PasswordChar中指定了哪一个字符,最终在TextBox中的文本只能以系统默认的密码字符*来显示)

6、CheckBox控件的CheckState属性和Checked属性,Checked属性返回值true或false。 CheckState属性返回Checked(表示选中)或Unchecked(表示未选中)枚举值之一。 7、ComboBox控件的DropDownStyle属性的含义

DropDownStyle属性:表示组合框的显示样式,其共有三种选择样式: Simple:同时显示文本框和列表框,文本框可以被编辑。

DropDown:只显示文本框,隐藏列表框,且文本框可以被编辑。 DropDownList:只显示文本框,隐藏列表框,但文本框不可被编辑。 8、课后习题 1、填空题

(1)使控件是否可以对用户交互做出响应的属性是(Enabled)。 (2)控制控件是否显示的属性是(Visible)。

(3)若要在文本框中输入密码,常指定(PasswordChar)属性。

(4)若某复选框某时刻【CheckState】属性的值为Indeterminate,则其属性【Checked】的值为(true)。 (5)使用(GroupBox)或(Panel)控件可以将多个RadioButton控件分为两个单选组。

(6)若不希望用户在ComboBox控件中编辑文本,则应将属性(DropDownStyle)的属性值设置为DropDownList。

七、目录与文件管理

1、目录与文件操作的命名空间是 System.IO

2、操作目录的类Directory类和DirectoryInfo类有什么区别

DirectoryInfo类必须被实例化后才能使用,而Directory类则只提供了静态的方法,程序中如果多次使用某个对象,一般用DirectoryInfo类,如果仅执行某一个操作,则使用Directory类提供的静态方法效率更高一些。

2·1、目录的创建、删除方法

创建目录:public static DirectoryInfo CreateDirectory(string path) 其中path为要创建的目录路径。

例:在C盘根目录下创建一个名为test的目录: Directory.CreateDirectory(”C:\\\\test”); 创建多级目录时:

Directory.CreateDirectory(”C:\\\\test\\\\t1\\\\t2”); 删除目录:

public static void Delete(string path,bool recursive)

其中path为要移出目录名称,path参数不区分大小写,可以是相对于当前工作目录的相对路径,

也可以是绝对路径。Recursive是一个布尔值,如果要移除path中的目录为true,否则为false。

例:删除C盘下test及子目录和文件


C#复习要点与解析(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:平湖市人民政府文件平政发〔2008〕152号

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: