[C#]面向对象

以C是面向对象的,C++、C#面向对象,这是两种思考方式

我其实觉得class 是一个高级的struct,但工作中,他们不愿意承认。

class 有封装继承与多态。

语法

[public] class 类名

{

      字段;

      属性;

       方法;

}

类是不占内存的?这个我尚疑问,实例化才占内存。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace stClass
{
    class Program
    {
        static void Main(string[] args)
        {
            stClass2 persion = new stClass2();//实例化
            //Console.WriteLine(  persion.ToString())   ;
            persion.age = 21;
            persion.gender = "male";
            persion.name = "jocob";
            //Console.WriteLine(persion.age);
            persion.Run();
            Console.ReadLine();
        }
    }
}

加入另外一个类作为调用、引用。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace stClass
{

    class stClass2
    {
        public string name;
        public int age;
        public string gender;
        public  void Run()
        {
            Console.WriteLine("I am " + name + ",age " + age + ", "+ gender + ",love running.");
            Console.WriteLine("I am " + this.name + ",age " + this.age + ", " + this.gender + ",love running.");           
        }
      }
}

属性

属性,对字段的幅值和取值进行限定,作用在保护字段。

属性要写在类当中。

本质就是一个get,一个设置。

比如,我们上面对名字进行设置属性。

set 进行限定

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace stClass
{

    class stClass2
    {
        private string name;
        public string Name
        {
            set { name = value; }
            get {  return name; }

        }
        public int age;
        public string gender;
        public  void Run()
        {
            Console.WriteLine("I am " + name + ",age " + age + ", "+ gender + ",love running.");
            Console.WriteLine("I am " + this.Name + ",age " + this.age + ", " + this.gender + ",love running.");           
        }
      }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace stClass
{
    class Program
    {
        static void Main(string[] args)
        {
            stClass2 persion = new stClass2();//实例化
            //Console.WriteLine(  persion.ToString())   ;
            persion.age = 21;
            persion.gender = "male";
            persion.Name = "jocob";
            //Console.WriteLine(persion.age);
            persion.Run();
            Console.ReadLine();
        }
    }
}

构造函数:用来初始化对象,但在创造对象才会被执行。构造函数,不能写void也不能写返回值,也必须和类名一样的。

析构函数:程序结束时会执行,做扫尾工作,但GC会帮我们做。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace stClass
{
    class Program
    {
        static void Main(string[] args)
        {
            stClass2 persion = new stClass2("jocob",21,"male");//实例化
            //Console.WriteLine(  persion.ToString())   ;
            //persion.age = 21;
            //persion.gender = "male";
            //persion.Name = "jocob";
            //Console.WriteLine(persion.age);
            persion.Run();
            Console.ReadLine();
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace stClass
{

    class stClass2
    {
        public stClass2(string name,int age,string gender)
        {
            this.Name = name;
            this.gender = gender;
            this.age = age;
        }
        private string name;
        public string Name
        {
            set { name = value; }
            get {  return name; }

        }
        public int age;
        public string gender;
        public  void Run()
        {
            Console.WriteLine("I am " + name + ",age " + age + ", "+ gender + ",love running.");
            Console.WriteLine("I am " + this.Name + ",age " + this.age + ", " + this.gender + ",love running.");           
        }
      }
}

关键字new

1创建对象

2、隐藏从父类那时继承过来的同名成员,

(有点像是ovverwrite.但我忘记overwrie是哪里的语言,我现在是不用了。)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值