this关键字

1.代表当前类的对象

2.在类当中显示的调用本类的构造函数(避免代码的冗余)

语法: ":this"

以下一个参数的构造函数调用了参数最全的构造函数!并赋值了那些不需要的属性!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace _04面向对象练习
{
public class Student
{
//字段,属性,方法,构造函数 //构造函数
public Student(string name,int age,char gender,int chinese,int math,int english)
{
//
this.Name = name;
this.Age = age;
this.Gender = gender;
this.Chinese = chinese;
this.Math = math;
this.English = english;
} //******
//this 关键字的用法
public Student(string name):this(name,,'a',,,)
{
//this.Name = name;
} public Student()
{
Console.WriteLine("Hello!");
} private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
} private int _age;
public int Age
{
get { return _age; }
set {
if (value < || value > )
value = ; _age = value; }
} private char _gender;
public char Gender
{
get {
if(_gender !='男'&&_gender!='女')
return _gender='男'; return _gender; }
set { _gender = value; }
} private int _chinese;
public int Chinese
{
get { return _chinese; }
set { _chinese = value; }
} private int _math;
public int Math
{
get { return _math; }
set { _math = value; }
} private int _english;
public int English
{
get { return _english; }
set { _english = value; }
} public void SayHello()
{
Console.WriteLine("我叫{0},我今年{1}岁了,我是{2}生",this.Name,this.Age,this.Gender);
} public void ShowScore()
{
Console.WriteLine("我叫{0},我的总成绩是{1},平均成绩是{2}", this.Name, this.Chinese + this.Math + this.English, (this.Chinese + this.Math + this.English)/);
} }
}

析构函数

当程序结束的时候,才会执行析构函数.

作用,不必等GC来回收垃圾,可以调用析构函数马上回收垃圾!!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace _04面向对象练习
{
public class Student
{
//字段,属性,方法,构造函数 //析构函数
//当程序结束的时候,析构函数才会执行
//帮助我们释放资源
//GC:垃圾回收器可以自动回收垃圾
//使用析构函数可以马上回收垃圾,不必等GC来回收!
~Student()
{
Console.WriteLine("析构函数");
} //构造函数
public Student(string name,int age,char gender,int chinese,int math,int english)
{
//
this.Name = name;
this.Age = age;
this.Gender = gender;
this.Chinese = chinese;
this.Math = math;
this.English = english;
} //******
//this 关键字的用法
public Student(string name):this(name,,'a',,,)
{
//this.Name = name;
} public Student()
{
Console.WriteLine("Hello!");
} private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
} private int _age;
public int Age
{
get { return _age; }
set {
if (value < || value > )
value = ; _age = value; }
} private char _gender;
public char Gender
{
get {
if(_gender !='男'&&_gender!='女')
return _gender='男'; return _gender; }
set { _gender = value; }
} private int _chinese;
public int Chinese
{
get { return _chinese; }
set { _chinese = value; }
} private int _math;
public int Math
{
get { return _math; }
set { _math = value; }
} private int _english;
public int English
{
get { return _english; }
set { _english = value; }
} public void SayHello()
{
Console.WriteLine("我叫{0},我今年{1}岁了,我是{2}生",this.Name,this.Age,this.Gender);
} public void ShowScore()
{
Console.WriteLine("我叫{0},我的总成绩是{1},平均成绩是{2}", this.Name, this.Chinese + this.Math + this.English, (this.Chinese + this.Math + this.English)/);
} }
}

***Xmind脑图软件

C# 面向对象5 this关键字和析构函数的更多相关文章

  1. PHP 面向对象中常见关键字使用(final、static、const和instanceof)

    PHP 面向对象中常见关键字的使用: 1.final :final关键字可以加在类或者类中方法之前,但是不能使用final标识成员属性. 作用: 使用final标识的类,不能被继承. 在类中使用fin ...

  2. Java面向对象-package import关键字

    Java面向对象-package import关键字 package包关键字,在java中,有包的概念,主要是用来归类 分类作用: 便于项目的开发和维护: 这里截取随便截取一个我最近在开发的一个开源工 ...

  3. Java面向对象-构造方法,this关键字

    Java面向对象-构造方法,this关键字 构造方法 概念:构造方法是一个特殊的方法,这个特殊方法用于创建实例时执行初始化操作: 上代码: package com.java1234.chap03.se ...

  4. 081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字

    081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字 本文知识点:new关键字 说明:因为时间紧张,本人写博客过程中只是 ...

  5. 2016/3/21 面向对象: ①定义类 ②实例化对象 ③$this关键字 ④构造函数 ⑤析构函数 ⑥封装 ⑦继承

    一:定义类   二:实例化对象 //定义类 class Ren { var $name; var $sex; var $age; function Say() { echo "{$this- ...

  6. PHP面向对象常见的关键字和魔术方法

    在PHP5的面向对象程序设计中提供了一些常见的关键字,用来修饰类.成员属性或成员方法,使他们具有特定的功能,例如final.static.const等关键字.还有一些比较实用的魔术方法,用来提高类或对 ...

  7. [java学习笔记]java语言核心----面向对象之this关键字

    一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数 ...

  8. php 面向对象:this 关键字

    PHP5中为解决变量的命名冲突和不确定性问题,引入关键字“$this”代表其所在当前对象. $this在构造函数中指该构造函数所创建的新对象. 在类中使用当前对象的属性和方法,必须使用$this-&g ...

  9. Java学习笔记之面向对象、static关键字

    一周Java学习总结 今天就总结理清一下关于面向对象和面向过程的程序设计的一些不同特点,以及讲下static关键字. 面向对象 现在接触的Java是面向对象的,现在的程序开发几乎都是以面向对象为基础的 ...

随机推荐

  1. VLC-Qt 入门指南

      关于 VLC-Qt VLC-Qt:一个结合了 Qt 应用程序和 libVLC 的免费开源库.它包含了用于媒体播放的核心类,以及用于更快速地进行媒体播放器开发的一些 GUI 类. 官网地址:http ...

  2. python:网络爬虫的学习笔记

    如果要爬取的内容嵌在网页源代码中的话,直接下载网页源代码再利用正则表达式来寻找就ok了.下面是个简单的例子: import urllib.request html = urllib.request.u ...

  3. 报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'admin' for key 'username'

    在提交注册信息的时候报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'admin' for key ' ...

  4. .NET Assembly File Format

    https://docs.microsoft.com/en-us/dotnet/standard/assembly/file-format .NET defines a binary file for ...

  5. [django]update_or_create使用场景

    update_or_create 作用是为了添加数据时防止重复. 先去查询, 如果没有在创建, 如果有则更新. update_or_create用法与密码存储实例 create方法 如果id是None ...

  6. PS技巧集合

    一.把图片变模糊 图像——调整——色阶——输出色阶——滤镜——模糊——高斯模糊——半径 二.图片换色 点击右下角弹层下方的“fx”——颜色叠加——色样颜色

  7. PJzhang:shell基础入门的2个疗程-two

    猫宁!!! 第6节:重定向 标准输入,标准输出,错误输出 输入重定向符号'<' 输出重定向符号'>'(清空之后再输入),'>>'(当前内容不变,在最后一行追加),'2>' ...

  8. PJzhang:python基础入门的7个疗程-six

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课 https://www.liaoxuefeng.com/wiki/1016959663602400 第16天:开源模块 sy ...

  9. Pandas使用细则

    本文介绍pandas的使用,总结了我在机器学习过程中常使用到的一些方法等. #pandas学习 import pandas as pd import numpy as np import seabor ...

  10. Object的构造函数方法

    参考自MDN Object 构造函数的方法 1.Object.assign() 将可枚举属性的值从一个或多个源对象复制到目标对象. 2.Object.create() 创建一个新对象,继承现有对象的构 ...