zoukankan      html  css  js  c++  java
  • C#面向对象(一) 封装

    一、什么叫做面向对象封装?

    封装的概念:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。

    二、面向对象封装有什么好处(为什么要封装)?

    封装的目的:是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。

    三、如何使用面向对象封装?

    1、属性器    2、实例与静态方法   3、构造函数    4、重载   5、访问修饰符

    1、常用访问修饰符的介绍

    (1) public            该类的实例可以被任何其他类访问

    (2) private          嵌套类,只能在定义它的类中使用

    (3) protected      嵌套类,只能从定义它的类中和自此派生的类中使用

    (4) internal         该类只能从同一个程序集的其他类中访问。这是嵌套类的默认访问方式。

    2、属性器的定义和构造函数的定义

    下面定义一个Person类!

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication1
    {
        public class Person
        {
            private string _name;
            private int _age;
            private string _sex;
    
            public string Name
            {
                get { return _name; }   //只读属性
            }
    
            public int Age
            {
                get { return _age; }
                set { _age = value; }    //可读可写
            }
    
            public string Sex
            {
                get { return _sex; }
                set { _sex = value; }   //可读可写
            }
    
            //1、类的构造函数
    
            public Person()    //不带参数的构造函数
            {
    
            }
    
    
            public Person(int Age, string Sex) //带参数的构造函数
            {
                this._age = Age;
                this._sex = Sex;             //this就是该类的实例化
            }
    
            public static string SayHi()   //2、静态方法
            {
                return "大家好";
            }
            public static string SayHi(string Name)   //3、重载
            {
                return Name + "大家好";
            }
            public string SayGoodBye()    //实例方法
            {
                return "再见";
            }
    
    
        }
    }

    类的属性器,方法,构造函数的使用。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Person p = new Person(16,""); //带参数的构造函数的使用
    
                p.Sex=""; // 属性器的使用
    
                p.SayGoodBye();//实例方法的使用
    
                Person.SayHi();//静态方法的使用    
    
            }
        }
    }

    实例方法的使用需要实例化,静态方法的使用直接调用类的方法即可!

    3、重载 

    概念:就是方法名称相同,参数不同的两个以上的方法叫做重载

    优点:给类的使用者带来很大的方便!

  • 相关阅读:
    Pandas学习笔记,如何从DataFrame里选择一个Series
    数据结构_郝斌_数组
    数据结构_郝斌_预备知识2
    数据结构_郝斌_预备知识1
    数据结构_郝斌_目录
    数据结构_郝斌_链表
    Vocabulary Recitation 2020/04/08
    5月11号
    5月10号
    5月9号
  • 原文地址:https://www.cnblogs.com/Lhuatao/p/3529852.html
Copyright © 2011-2022 走看看