C#中类的运用(Eighth day)
又到了总结知识的时刻了,今天在云和学院学习了类的运用,下面是今天所学知识的总结:
理论:
[访问修饰符] class 类名
{
成员; // 1.通过字段来描述类别信息的变量
...... // 2.用方法定义一个类的动作
}
private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 当前程序集内可以访问。
字段默认的访问修饰符是:Private,修饰的字段只能在一个类的内部访问
实例名.属性 实例名.方法名();
Class可以被实例化,属于引用类型,是分配在内存的堆上的。类是引用传递的。
Struct属于值类型,是分配在内存的栈上的。结构体是复制传递的
允许外部访问的变量一定要声明为属性
1)在赋初值时,重复的书写对象名
2)假如我们有一个属性,不允许用户随意改动.我们一般把这个属性定义为只读类型的属性.
那么这个只读类型的属性就不能在实例化后对他赋值了,那么我们如何对他初始化呢?我们
可以通过构造方来进行初始化.
我们定义好一个类,如果没有写构造方法,那么编译器就会自动在这个类中给我们添加一个没
有参数的构造方法.
一旦我们写了一个构造方法,那么编译器就不会再给我们添加这个没有参数构造方法了.
实操:


定义一个学生类,有六个属性,分别为姓名、性别、年龄、语文、数学、英语成绩。
class Student
{
string name;
public string Name
{
get { return name; }
set { name = value; }
}
string gender;
public string Gender
{
get { return gender; }
set { gender = value; }
}
int age;
public int Age
{
get { return age; }
set { age = 18; }
}
int chinese;
public int Chinese
{
get { return chinese;}
set { chinese = value;}
}
int math;
public int Math
{
get { return math; }
set { math = value;}
}
int english;
public int English
{
get { return english; }
set { english = value; }
}
//一个打招呼的方法:介绍自己叫XX,今年几岁了。是男同学还是女同学。
//两个计算自己总分数和平均分的方法。{显示:我叫XX,这次考试总成绩为X分,平均成绩为X分}
public void SayHi()
{
Console.WriteLine("我叫{0},今年{1}岁了,是{2}同学",name,age,gender);
}
public void Score()
{
int sum = 0;
int avg = 0;
sum = chinese + math + english;
avg = sum / 3;
Console.WriteLine("我叫{0},这次考试总成绩为{1}分,平均成绩为{2}分",name,sum,avg); } }

关于构造函数,明天在继续总结学习吧。。。加油!
C#中类的运用(Eighth day)的更多相关文章
- PHP中类自动加载的方式
最近在学习composer,发现从接触PHP到现在已经遇到了三种关于PHP中类的自动加载方式,这其中包括PHP自带的类的自动加载方式.PHP的第三方的依赖管理工具composer的加载方式以及PHP的 ...
- Typescript 中类的继承
Typescript中类的定义与继承与后端开发语言java/C#等非常像,实现起来非常方便,而且代码便于阅读. 用Typescript写较大项目时是非常有优势的. /** * BaseClass */ ...
- Objective-C 中类属性(修饰)
Objective-C 中类属性(修饰) (2013-07-13 14:38:35) 转载▼ 标签: it 分类: IOS笔记 nonatomic: 非原子性访问,对属性赋值的时候不加锁,多线程并发访 ...
- java中类的创建及初始化过程
java中类的创建及初始化过程无外乎两种情况,其一为单类的创建及初始化,其二具有继承关系的父子类创建及初始化过程. 首先说简单的,单类的创建及初始化过程.在java中我们都知道绝大部分对象的创 ...
- Python中类的特殊方法详解
本文和大家分享的主要是python语言中类的特殊方法相关用法,希望对大家有帮助. 构造序列 1._len_(self) 2._getitem_(self,key) 3._setitem_(self,k ...
- OC基础--OC中类的定义
OC中类的定义与使用跟C#和java差别相当明显,做个笔记,牢记并加以区别! 一.OC中类的定义:关键字@implementation 和 @end 注意事项: 1.定义好一个类之后,要让这个类继承N ...
- UML中类之间的几种关系
类之间可能存在以下几种关系:关联(association).依赖(dependency).聚合(Aggregation,也有的称聚集).组合(Composition).泛化(generalizatio ...
- Java中类的加载、连接和初始化
Java中类的加载.连接和初始化 类的加载.连接和初始化 先介绍一下JVM和类 JVM和类: 当我们调用Java命令运行某个Java程序时,该命令将会启动一个Java虚拟机进程,不管该Java程序有多 ...
- C++ 中类的构造函数理解(二)
C++ 中类的构造函数理解(二) 写在前面 上次的笔记中简要的探索了一下C++中类的构造函数的一些特性,这篇笔记将做进一步的探索.主要是复制构造函数的使用. 复制构造函数 复制构造函数也称拷贝构造函数 ...
随机推荐
- Spring起步(一)Building a RESTful Web Service
http://spring.io/guides/gs/rest-service/ 先放链接. 这个很小很小的一个功课,我却遇到了各种各样的奇葩错误,折腾了两天才弄好. 想要开始的话,需要一些准备工具 ...
- rails总结
rails总结 注意:本文档以rails3.2版本为基础,并且用RubyMine 4.0.3作为ide 一.rails的结构与重要文件 Rails 是一个MVC库.同时,Rails的特点就是:惯用名优 ...
- android 解决ViewPager双层嵌套的滑动问题
解决ViewPager双层嵌套的滑动问题 今天我分享一下ViewPager的双层嵌套时影响内部ViewPager的触摸滑动问题 之前在做自己的一个项目的时候,遇到广告栏图片动态切换,我第一时间想到的就 ...
- github中的ssh配置
1.配置git信息 设置git的user name和email: $ git config --global user.name "tigerjibo"$ git config - ...
- 高效率JavaScript编写技巧
最近在编写一个JavaScript框架,发现有很多细节注意得不够,担心长时间积累会导致框架实际应用的时候出现严重的效率问题.于是开始关注JavaScript提高效率的一些技巧,在这里分享给大家. 1. ...
- Selenium之偷懒教程
进来一直停留在基础理论知识的学习中,认为太乏味,就写了一个网页自己主动化的demo:自己主动写日报.省的以后自己打开网页写啦. 直接上代码: 自己主动填写日报DEMO import java.io.B ...
- Google Maps 学习笔记(二)地图天气预报服务 2014.06.04
地图天气预报服务:一,获取天气预报信息:二,解析天气预报信息:三,在地图上加载天气预报信息: Yahoo!提供的天气预报服务采用流行的RSS输出结果,接口地址如下: http://weather.ya ...
- javascript函数作用域链之词法作用域
在开发语言中常见的作用域规则有 块级作用域和词法作用域 作用域 顾名思义就是起作用的区域 定义一变量后 ,可以在此范围作用的区域 一.块级作用域就是用一个块结构分割变量的访问区域 块即{ } 代 ...
- C#第三方zip解压压缩工具,带事例源码
using System;using System.Collections.Generic;using System.Linq;using System.Text;using ICSharpCode. ...
- C++读写文件的简单例子
#include <iostream> #include <fstream> using namespace std; void main() { ofstream in; i ...