zoukankan      html  css  js  c++  java
  • 面向对象——封装和继承

    构造函数:

    构造函数 - 创建一个类的函数

    每一个类都有构造函数,访问修饰符必须是public的,并且不需要写任何返回值,方法名与类名一致

    自己写的类 - 用户自定义类型
    如果要使用自定义类型产生出来的  对象  必须有一个实例化的过程

    实例化格式:
    类型名  ss = new 构造函数();

    访问修饰符 -  4个

    public - 公共的,任何地方都可以访问,但是需要引用 命名空间

    private - 私有的,类的内部才可以访问

    internal - 内部的,默认的,程序集中可以访问,程序集就是命名空间

    protected - 被保护的,类的内部和类的父类和子类中可以访问

    封装:

    private 数据类型 _名字;   --成员变量

    public 默认一致 名字      --属性

    {  

      get{ return _名字; }  

      set{ _名字 = value; }

    }

    封装可以保护数据的安全性

    自己关于封装的练习:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace 封装
    {
        class Student
        {
            public Student()
            { 
            
            }
    
            private string _Code;//学号
    
            public string Code 
            {
                get { return _Code; }
                set { _Code = value; }
            }
            private string _Name;//姓名
    
            public string Name
            {
                get { return _Name; }
                set { _Name = value; }
            }
            private string _Sex;//性别
    
            public string Sex
            {
                get { return _Sex; }
                set { _Sex = value; }
            }
            private int _Age;//年龄
    
            public string Age//判断输入年龄是否为整数
            {
                set 
                {
                    try
                    {
                        _Age = int.Parse(value);
                    }
                    catch
                    {
                        _Age = 0;
                    }
                }
            }
            public int Age1
            {
                get { return _Age; }
            }
        }
    }

    类中不仅可以有成员变量和属性,还可以有成员方法

    方法又分为,普通方法    静态方法

    普通方法使用: 需要实例化对象,用对象点出来

    静态方法使用:  直接用类名点出来,不需要实例化对象,只需在访问修饰符后面加上static

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace aaaaa
    {
        public class jisuan
        {
            /// <summary>
            /// 计算两个数的加法,返回和
            /// </summary>
            /// <param name="a">要计算的第一个数</param>
            /// <param name="b">要计算的第二个数</param>
            /// <returns></returns>
            public int jiafa(int a, int b) //成员方法
            {
                return a + b;
            }
    
            public static int jianfa(int a, int b)
            {
                return a - b;  
            }
        }
    }

    继承:

    继承语法:  类名 : 父类名(在类名后面直接写冒号与想要继承的父类名)

    子类也叫做xxx的派生类,超类

    父类也叫做基类

    一个父类可以有无数个子类

    一个子类可以有1个父类

    子类并不是可以继承父类中所有的东西,而是可以继承父类中允许子类继承的内容,这个允许条件是依靠访问修饰符来做的权限

  • 相关阅读:
    从MVC和三层架构说到ssh整合开发-下
    Codeforces Round #226 (Div. 2)--A Bear and Raspberry
    ISA95的抽象惯例
    Difference between End-to-end testing and System testing
    javascript Date format(js日期格式化)
    给easyui datebox扩展一个清空按钮
    easyui combobox开启搜索自动完成功能
    给你的webstorm添加快速生成注释得快捷键
    location.origin兼容IE
    将json转换成struts参数
  • 原文地址:https://www.cnblogs.com/wt627939556/p/6102827.html
Copyright © 2011-2022 走看看