小白的《C#图解教程》学习笔记(第四章)


唠唠嗑

嗨,我是小白,如果你不喜欢看一整本书而是带着轻松的心情看别人学习一本书,或者喜欢通过和人讨论的模式来进行学习,就来关注我吧。
如果有比我还小白的小白们有非常非常基础的问题要问,我会根据私信人数出期特别的,简单易懂的教程哦。

鉴于上期的内容有点多,笔记还是一章一章的整理吧。


总目录

这是这本书的目录( ̄▽ ̄)~*
在这里插入图片描述


本文章的阅读目录

在这里插入图片描述


一、C#的一些注意点

1.关于声明变量时的一些注意点

同一行声明多个变量的语法细微差别:

int a, int b = 0;
int c,d = 0;

a这种情况并没有被手动赋值,虽然它最后的值也是0,但那是缺省默认值,当变量没有被赋值且对应类型在该情况下会默认赋上的值,称为缺省默认值。

而c,d这种情况就是被同时手动赋值为0。

但要注意,同一行不能声明多个不同类型的变量,如下这种:int a,string b="111";


2.关于返回类型的注意点

C#中没有默认的返回类型,所有的方法都必须包含返回类型或void。
顺便一提,C#中没有放在类声明外部的“全局函数”。


3.关于类类型变量的注意点

当定义一个类类型变量,系统会为该变量的引用和实际数据分配内存,假设你定义的类的名字是Me。
Me m;
这条语句只是创建了叫做m的变量的一个引用,而且它没有初始化,在堆里没有数据。
当使用new的时候,才会在堆里产生对应的数据。
Me m = new Me();不要忘记在new后面加上**类名()**的形式。


4.关于实例和静态成员的注意点

首先解释下成员是什么,通常是指类里声明的变量(也就是字段)和方法(被称作成员方法),如:

class A{
	public int a;
	public static int b;
	public int Abc(){...};
}

实例,就是该类的实例,即该类的对象(new出来的对象),实例成员即只在各个实例中独立的成员,实例修改实例成员的值不会影响到其他实例中的实例成员的值。
比如用之前定义的A类举例:

A a1 = new A();
A a2 = new A();
a1.a = 1;
a2.a = 2;

因为A类里的a成员,是实例成员,所以a1.a和a2.a都分别独立,a1.a的值是1,a2.a的值是2。

但如果是:

A a1 = new A();
A a2 = new A();
a1.b = 1;
a2.b = 2;

结果会是a1.b和a2.b的值都是2,因为b加了static关键字,是静态成员,它和实例不相关,它的作用对象是类,而不是实例,所以使用类作为模板创建出来的所有实例都会受到影响。


二、访问修饰符

1.C#的五种访问修饰符

  • 私有的(private);
  • 公有的(public);
  • 受保护的(protected);
  • 内部的(internal);
  • 受保护内部的(protected);

这一章只介绍了私有访问和公有访问,在第七章有讲剩下的。


私有访问和公有访问

即只有在类里面才能访问的成员,比如:

class B{
	int a=0;	//隐式私有访问
	private int b=0;	//显式私有访问
	public int c=0;	//公有访问
	public void Abc(){
		return a+b;
	}
	private void Abd(){
		return a+b+c;
	}
}

class C{
B b1 = new B();
B b2 = new B();
int me = b1.c;//不会出错,c是B类的公有成员
int you = b1.a; //这个不行,a只能在B类内部被访问,因为是私有成员。
int he = b2.Abc();//可以,因为Abc()是公有成员
int sh3 = b2. Abd();//不可以,因为Abd()是私有成员
}

看完上面的代码,你可能会有一些问题,譬如:

Q:隐式私有访问和显式私有访问的这个隐式和显式有什么区别?

  • A:没有区别,只是需要注意的是不加修饰符的成员就是私有成员,和带private的效果是一样的,这或许和其他语言不一样,比如Java的默认修饰符是友好的而不是私有的。

Q:为什么Abc()里的a和b都是私有访问成员,却可以访问Abc()?

  • 因为Abc()是公有访问成员,它虽然访问了私有访问成员,但却是在私有访问成员所在的A类内部访问的,所以没有问题。

Q:函数不加private也是私有访问成员吗?

  • 是的。

小结

能够给你帮助是我最大的荣幸,祝你早日吸收掌握想学的知识。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《轻松学C#(图解版)》完整扫描版================================================================ 基本信息 作者:谷涛、扶晓、毕国锋 丛书名:轻松学开发 出版社:电子工业出版社 ISBN:978-7-121-20223-0 出版日期:2013年6月 开本:16开 页码:408页 版次:1-1 定价:¥55.00 所属分类:计算机 > 软件与程序设计 > C# ================================================================ 内容简介 本书由浅入深,全面、系统地介绍了C#程序设计。除了详细地讲解C#知识点外,本书还提供了大量的实例,供读者实战演练。本书共分三篇。第一篇是C#概述篇,主要介绍的是Visual Studio 2012的开发环境及搭建。第二篇是面向对象基础篇,主要介绍类、对象、字段、方法、流程控制、数组、继承、属性、运算符重载、接口等C#基本内容。第三篇是应用技术篇,主要介绍的是异常处理、文件和流、委托、事件、Lambda表达式、命名空间、预处理器、程序集、运行时类型标识、反射、特性、泛型、LINQ和数据库开发等。 ================================================================ 图书目录 第一篇 C#概述篇 第1章 C#入门 2 1.1 C#概述 2 1.1.1 C#的发展 2 1.1.2 C#开发的基础 2 1.2 搭建开发环境 3 1.2.1 Visual Studio 2012软硬件配置要求 3 1.2.2 下载Visual Studio 2012 3 1.2.3 安装Visual Studio 2012 4 1.2.4 初始化配置 7 1.3 第一个程序—Hello World 8 1.4 小结 11 1.5 习题 12 第二篇 面向对象基础篇 第2章 类和对象 16 2.1 分析Hello World程序 16 2.2 语法规范 17 2.2.1 标识符 17 2.2.2 关键字 18 2.2.3 注释 19 2.3 定义类 20 2.4 实例化对象 20 2.5 小结 20 2.6 习题 21 第3章 定义类——字段 23 3.1 数据类型 23 3.1.1 简单值类型 23 3.1.2 值的表示——字面量 26 3.1.3 转义序列 27 3.2 定义字段 27 3.2.1 定义字段 28 3.2.2 静态字段和实例字段的访问 28 3.2.3 字段初始化 29 3.2.4 字段的动态赋值——Read()和ReadLine() 31 3.2.5 字段输出 31 3.2.6 格式化输出 32 3.2.7 数据类型转换 39 3.2.8 只读字段 41 3.2.9 访问控制 41 3.3 运算符 43 3.3.1 算术运算符 43 3.3.2 自增、自减运算符 44 3.3.3 复合赋值运算符 45 3.3.4 位运算符 46 3.3.5 sizeof运算符 47 3.3.6 运算符的优先级 47 3.4 小结 49 3.5 习题 49 第4章 定义类——方法 51 4.1 方法的概述 51 4.1.1 定义方法 51 4.1.2 方法的调用 52 4.2 方法体的构成 53 4.2.1 局部变量 53 4.2.2 局部变量与字段同名的解决——this关键字 54 4.2.3 语句 55 4.2.4 全局变量 55 4.3 返回值 56 4.3.1 返回值类型 56 4.3.2 从方法返回 57 4.4 参数 58 4.4.1 参数的分类 58 4.4.2 引用参数(ref参数) 59 4.4.3 输出参数(out参数) 61 4.5 特殊的方法 62 4.5

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值