博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Chapter 8. 面向对象(封装)
阅读量:5805 次
发布时间:2019-06-18

本文共 2517 字,大约阅读时间需要 8 分钟。

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 封装{    public class Person    {        //字段:存储数据        string _name;   //类中的成员,如果不加访问修饰符,默认private        int _age;        char _gender;        //属性:保护字段,对字段的取值和设置进行限定(get()和 set())        public string Name        {            get { return _name; }            set                                      {                if ( value != "John")     //在set中限定(姓名)                {                    value="John";                }                _name = value;             }        }        public int Age        {              get             {                if (_age < 0 || _age > 100)    //在get中限定(年龄)                {                    return _age=0;                }                return _age;             }            set { _age = value; }        }        public char Gender        {            get { return _gender; }            set { _gender = value; }        }        //方法:描述对象的行为        //实例方法:        public void SayHello()        {            string Name = "Lucy";            int Age = 20;            char Gender = '女';            //this作用1:代表当前类的对象            Console.WriteLine("{0},{1},{2}", this.Name, this.Age, this.Gender);            Console.WriteLine("{0},{1},{2}", Name, Age, Gender);        }        //静态方法:        public static void SayHello2()        {            Console.WriteLine("Hello 我是静态的");        }        /* 构造函数:         * 初始化对象(给对象的每个属性依次赋值)         * 1、没有返回值,void也没有         * 2、构造函数的名称跟类名一样         */        public Person(string name, int age, char gender)        {            this.Name = name;            this.Age = age;            if (gender != '男' && gender != '女')  //在构造函数中限定(性别)            {                gender = '男';            }            this.Gender = gender;        }        //this作用2:调用当前类的构造函数        public Person(string name,char gender):this(name,0,gender)        {                         }    } }
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 封装{    class Program    {        static void Main(string[] args)        {             /*             * new:             * 1、在内存中开辟一块空间             * 2、在开辟的空间中创建对象             * 3、调用对象的构造函数             */            //调用非静态的方法:(先要实例化对象)            Person zsPerson = new Person("张三",-19,'中');            zsPerson.SayHello();            //调用静态的方法:(类名.方法名)            Person.SayHello2();            Console.ReadLine();        }    }}

转载于:https://www.cnblogs.com/xiao55/p/5593925.html

你可能感兴趣的文章
7zZip zip RAR iOS
查看>>
date命令的详细用法!
查看>>
分布式存储ceph集群部署
查看>>
UiAutomator源码分析之UiAutomatorBridge框架
查看>>
python 开发之selenium
查看>>
Xcode3.2.5中找不到Mac OS X - Command Line Utility -...
查看>>
css的div垂直居中的方法,百分比div垂直居中
查看>>
如何理解EM算法
查看>>
nginx 域名跳转一例~~~(rewrite、proxy)
查看>>
我的友情链接
查看>>
linux用户家目录无损迁移到独立硬盘
查看>>
文件查找
查看>>
shell编程前言(一)
查看>>
5、centos7.*配置yum的EPEL源及其它源
查看>>
JSON前后台简单操作
查看>>
shell中一些常见的文件操作符
查看>>
CentOS 7 装vim遇到的问题和解决方法
查看>>
JavaScript基础教程1-20160612
查看>>
使用第三方类、库需要注意的正则类RegexKitLite的使用
查看>>
iOS \U7ea2 乱码 转换
查看>>