与你相识之面向对象

正式开始c#之万物皆对象

一. 面向过程、面向对象
1)、面向过程
把大象塞进冰箱
张三 (个子矮、45kg)
1.1张三找个梯子打开了冰箱门
1.2张三找个起重机把大象吊起来塞进了冰箱
1.3张三找个梯子关闭了冰箱门
李四 (190、大力士)
1.1李四 打开了冰箱门
1.2李四 把大象吊起来塞进了冰箱
1.3李四关闭了冰箱门
不同条件的人同样是把大象塞进冰箱操作的方法不同(注重的是过程)
2)面向对象
大象可以被塞进冰箱
张三 (个子矮、45kg)
2.1大象被张三塞进了冰箱
李四 (190、大力士)
2.1大象被李四塞进了冰箱
同样是把大象塞进冰箱,就不再注重赛大象的过程了,结果就是大象被塞进了冰箱(注重结果)

二. 字段、属性、方法
1)字段是用来存储的
2)属性是用来保护字段的
3)方法时用来执行某种操作的

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

namespace FirstDemo
{
    class Student
    {
        private int _age;//字段
        private string _name;
        //属性
 public int Age {

            get {
                if (_age>100)
                {
                    _age = 0;
                }
                return _age;
            
            }
            set {
                if (value <= 0 )
                {
                    value = 0;
                }
                _age = value;
            
            }
        }
        public string Name {
            get { return _name; }
            set { _name = value; }
        }
        //方法(函数)
        public  void WriteStudentInfo() {


            Console.WriteLine("我叫{0},我今年{1}岁",Name,Age);
        }
    }
}

using System;
using System.Collections.Generic;
using System.Data.SqlTypes;
using System.Linq;
using System.Text;

namespace FirstDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            Student student = new Student();
            student.Age = 10;// 可将年龄更换为 -10 120体验下属性的作用
            student.Name = "张三";
            student.WriteStudentInfo();
            Console.ReadKey();
}
     }
 }

三. 静态方法 static
1)静态类下所有成员必须是静态的
2)实例化方法可以使用静态成员也可以使用非成员
3)静态方法只能使用静态成员
4)静态方法使用 【类名.方法名】
5)非静态方法 要先实例化 【new 类名().方法名】
6)静态资源是共享的,静态成员一直会占用静态资源
四.构造函数
1)构造函数必须是public

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

namespace FirstDemo
{
    class Student
    {

        public Student(string name, int age) {
            this.Age = age;
            this.Name = name;
        }
        private  int _age;
        private  string _name;
        public  int Age {

            get {
                if (  _age > 100)
                {
                    _age = 0;
                }
                return _age;
            
            }
            set {
                if (value <= 0 )
                {
                    value = 0;
                }
                _age = value;
            
            }
        }
        public  string Name {
            get { return _name; }
            set { _name = value; }
        }
        public  void WriteStudentInfo() {


            Console.WriteLine("我叫{0},我今年{1}岁", Name, Age);
        }
    }
}

using System;
using System.Collections.Generic;
using System.Data.SqlTypes;
using System.Linq;
using System.Text;

namespace FirstDemo
{
    class Program
    {
        static void Main(string[] args)
        {
 
            Student student = new Student("李四", 25);
            student.WriteStudentInfo();

            Console.ReadKey();
}
     }
 }

五. 析构函数
1)析构函数在程序执行完执行可用来释放资源
2)资源释放GC(垃圾回收机制)可自动释放也可以手动释放

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

namespace FirstDemo
{
    class Student
    {
        ~Student() {

            Console.WriteLine("我是析构函数");
            Console.ReadKey();
        }
        }
        }

今天的回顾就先到这里啦,之后再一点点接着回顾。不对的地方大佬多指导,加油、加油、加加油~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值