C#编程自学之类和对象
在之前的文章中介绍了C#是一种完全面向对象的语言,既然是完全面向对象的语言就应该用面向对象的模式去学习C#,不了解面向对象?不必担心。这篇文章将介绍学习C#基础部分所要用到的面向对象的知识,后面文章我们将系统的介绍C#面向对象编程。接下来就开始我们C#旅程的起点!
一、类与对象
1 什么是类?
在我们现实世界中,我们经常会把具有一系列相同行为和属性的事物归类,例如:人类,人类就是我们所说的类。
例如 所有的人都有五官,内脏等等(除其他特殊原因),这些组成部分我们称之为人类的属性。
所有的人都要吃饭,睡觉等等(除其他原因如减肥),这些动作我们称之为行为。
2 什么是对象?
我们刚才知道了什么是类与类的行为与属性,那么对象就是这个类的一个实体!
类就是一组行为与属性的描述,对象就是符合这些描述的实体。
如图
类:类就是一系列相同行为与属性的描述与抽象。
对象: 对象就是类的一个实体,真是存在的实例,那么人类对象就可以吃饭睡觉,并且具有五官与内脏。
二、类的成员
上面了解了类与对象的基本概念后,我们来看一段代码:
using System; namespace MyHelloWorld { class Student { public string _name; public int _age; } class Program { static void Main(string[] args) { Student std = new Student(); //创建一个学生类的对象 std._name = "张三"; //给学生对象的名字属性赋值 std._age = 20; //给学生对象的年龄属性赋值 //打印学生对象std的姓名与年龄 Console.WriteLine("我的姓名是:"+std._name); Console.WriteLine("我的年龄是:"+std._age); } } }
首先看第5 ~ 9行代码,演示了C#创建类和属性(代表C#字段暂理解为面向对象中的属性,当讲述到C#属性的时候我会更正)的语法:
class Student { public string _name; public int _age; }
我们定义了一个学生类,这个学生类有两个属性,一个是姓名,一个是年龄。
在看看属性前面的修饰符 public ,它是类成员是否可被外部访问的一个修饰符:public 代表为公共的,也就是说将来对象外部可以访问这个属性,如何访问?看15 ~ 17行代码:
Student std = new Student(); //创建一个学生类的对象 std._name = "张三"; //给学生对象的名字属性赋值 std._age = 20; //给学生对象的年龄属性赋值
这个时候都当学生对象创建的时候,我们可以通过:对象.属性的方式访问属性并给属性赋值。
紧接着调用上篇文章介绍的控制台类,将学生对象的两个属性的值打印输出到控制台。运行效果如下:
以上就是类的属性以及属性的访问。
三、类的方法
刚才封装了学生类的属性,接下来我们要看学生类的行为比如学生需要学习。升华刚才的代码如下:
class Student { public string _name; public int _age; public void ToLearn() { Console.WriteLine(this._name+"去学习啦!"); } }
第6~9行代码就是一个方法的标准定义与实现.
首先看定义(定义方法就是描述这个行为是干什么的):
访问修饰符 返回值类型 方法名称(行为名称)
访问修饰符: public 表示公共的,将来对象外部可以访问次方法
返回值类型: void 表示该方法没有返回值
方法名称 : ToLearn 顾名思义就是去学习的一个方法(行为)
接下来看方法的实现 (实现发放就是描述这个行为是怎么实现的):
方法的定规 { 方法的实现 }
我们这个方法实现了在控制台输出一句话内容是自己的姓名加上去学习啦!表示要去做的事。
如何访问方法?
Student std = new Student(); //创建一个学生类的对象 std._name = "张三"; //给学生对象的名字属性赋值 std._age = 20; //给学生对象的年龄属性赋值 std.ToLearn(); //调用去学习方法
Ctrl + F5 运行结果如下:
四、访问修饰符
接下来就是访问修饰符的介绍,大家在上面例子也看过啦,认识了一个public的访问修饰符,接下来看看C#还有哪些访问修饰符:
public : 将类成员标记为公共,表示对象向外部可以访问。
private: 将类成员标记为私有的,表示对象外部不可以访问。
protected:将类成员标记为受保护的,可以被子类继承,外不不能访问。
internal: 将类成员标记为程序集内可以访问,程序集外部不能访问。
protected internal:将类成员标记为当前程序集内可以访问,外部不能访问,但是从本程序集类型派生出的子类可以访问。
以上不明白的没关系这里只是列举介绍一下,后边文章会陆续的详细解释。
五、引导你的伪代码
class 人类 //人类 { public string 姓名; //人类的属性 名字 public int 年龄; //人类的属性 年龄 public void 吃饭(食物) //人类外部可访问可控制的方法 吃饭 { 内脏消化(食物); } private void 内脏消化(食物) //人类内部的方法行为 外部不能访问,例如吃饭我们人可以控制,但是怎么消化是内脏控制 所以外部不能访问 { //对事物的消化过程 } } class Program { static void Main(string[] args) { 人类 人 = new 人类(); //人类对象 人.姓名 = "张三"; //给人类的名字属性赋值 人.年龄 = 20; //给学生对象的年龄属性赋值 人.吃饭(汉堡); //调用吃饭方法 //这里就不能调用 人.内脏消化() 方法 因为他是私有的 类内部执行的 } }
以上内容就是介绍了C#基础部分所需要的面向对象的基础知识,只需要了解我所解释的部分就可以啦,部分提出来的没理解也没关系,之后的文章中会详细的介绍。
上一篇:C#简单输出日历的方法
栏 目:C#教程
下一篇:C#接口实现方法实例分析
本文标题:C#编程自学之类和对象
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/6920.html
您可能感兴趣的文章
- 01-10C#自定义签名章实现方法
- 01-10WinForm实现自定义右下角提示效果的方法
- 01-10C#实现自定义windows系统日志的方法
- 01-10C#自定义事件监听实现方法
- 01-10C#编程实现自定义热键的方法
- 01-10WinForm实现程序一段时间不运行自动关闭的方法
- 01-10C#编程获取资源文件中图片的方法
- 01-10C#.NET实现网页自动登录的方法
- 01-10C#编程自学之数据类型和变量二
- 01-10C#编程自学之开篇介绍
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-11ajax实现页面的局部加载
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-10C#中split用法实例总结
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10SublimeText编译C开发环境设置
- 01-10delphi制作wav文件的方法
- 04-02jquery与jsp,用jquery
- 08-05DEDE织梦data目录下的sessions文件夹有什