首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【自然框架】 页面里的—— (补充)

没想到下午发的《【自然框架】 页面里的——把共用的东东都交给,让子类专注于其他。 》启发了热烈讨论,还以为又是一大堆的口水回复呢。...有些功能是多个页面共有的、相同的,有些是一页面有的,那么大家会怎么设计呢?...树状功能节点页面,这类的也就三个,也可以直接继承System.Web.UI.Page,这样继承的层数不就少了吗。或者给这三个页面单独做一个。 不过有必要为了减少继承的层数而特意这么做吗?...我觉得继承的一个优点就是可以“被动”执行,就是说不用在子类里面现象的调用函数,而是由默默的去做了。...当然这么做也有个缺点,那就是如果不看看的代码(或者看说明文档)的话,那么就不知道到底做了什么。 欢迎大家继续拍板砖,呵呵,这样的讨论氛围我还是很喜欢的。大家觉得呢?

83650
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ——曼德拉 今天在项目中遇到一个小坑可把我吓坏了,记录一下,以免再犯 首先还原下场景吧,我们写个 package com.ruben.pojo; import lombok.Data; /**...我们再写一个继承一下它,这个我们用作和数据库映射 package com.ruben.pojo.dataObject;/** * @ClassName: UserDataObject * @Date...) private UserInfo userInfo; public UserPO(Integer id) { super(id); } } 然后我们使用的构造方法去创建这个对象...,并赋值id UserPO userPO = new UserPO(888); 最后我们发现userPO.getId()出来的结果为null 是因为我们调用的的构造函数,是给的id赋值了 而我们...getId()又被子类重写,导致获取不到我们想要的结果888 当时在项目中我使用了mybatis-plus,然后是这么写的 mpUserMapper.delete(Wrappers.lambdaQuery

    50330

    【自然框架】 页面里的——把共用的东东都交给,让子类专注于其他。

    图】 【命名空间】——————————————————【文件截图】 可能您会问,不就是弄个吗,怎么又是这么复杂呢?这个嘛,听我慢慢道来。...(图里面Tree、Main1、DataDelete1、DataForm1、DataList1不是,而是共用页面)       这个是依据自然框架的特点来设置的,目的就是把共用的代码都放到里面...如果只设置一个,不能满足不同的需求,所以就根据不同的需求,设置了多级的。 1、 BasePage 。...在OnInit里面首先验证DataID,再调用函数验证是否有权限访问,再验证是否可以访问指定的记录(DataID)。...总结:URL参数的验证、权限的验证、访问记录的验证、控件属性赋值等,都交给去做,子类就可以不用去考虑权限的问题,专心致志的处理好自己的业务逻辑了。

    79591

    【自然框架】 页面里的—— 改进和想法、解释

    很显然这些相同的事情不能让每个列表页面都亲自处理一遍,这个工作效率就太低了,冗余代码也很多。那么怎么办呢?我想到的就是继承。建立一个,把这些事情都交给去做,子类“坐享其成”就可以了。...3、 组合       上面说了,要把这些共同的事情交给去做,那么是不是说就一定要亲自去做呢?很显然不是的。...如果我有100个列表页面,每一个页面都要选择一下吗?这100个列表页面的选择都是一样的呀,每个页面都做一次,是不是重复了呀。所以还是需要做一个,让去做选择,子类还是“坐享其成”就可以了。...表单页面也是相同的情况。所以我觉得即使用了组合,那么继承的层数还是这些,不会有任何的影响。呵呵。       所以我才定义了三个:列表页面、表单页面、删除页面。...比如说表单页面就override了验证DataID的函数。 4、 修改。

    1.2K50

    子类继承,的初始化

    《Thinging in Java》的引用 基础及衍生,而不再是以前的一个,所以在想象衍生的结果对象时,可能 会产生一些迷惑。...从外部看,似乎新拥有与基础相同的接口,而且可包含一些额外的方法和字段。但继承并非仅仅简单地复制基础的接口了事。创建衍生的一个对象时,它在其中包含了基础的一个“子对象”。...这个子对象就象我们根据基础本身创建了它的一个对象。从外部看,基础的子对象已封装到衍生的对象里了。...个人总结: super关键字必须写在构造方法的方法体内的非注释代码的首行 子类进行初始化,必须调用的构造方法,如果的所有构造方法都用private修饰了的话,则无法继承,编译报错....衍生构造方法调用的构造方法,如果是无参构造方法,那么编译器会为衍生的构造方法首行加上super()。 编译器会强迫我们在衍生构建器的主体中首先设置对基础构建器的调用。

    1.9K30

    【Python】面向对象 - 继承 ② ( 子类重写成员 | 子类调用重名成员 | 子类中使用 名 调用成员 | 子类中使用 super 调用成员 )

    一、子类重写成员 1、子类重写成员语法 子类 继承 的 成员属性 与 成员方法 后 , 如果对 继承的 成员 不满意 , 可以 重写 成员 ; 成员 属性 和 成员 方法 , 都可以进行重写...- 子类重写成员 在 Animal 中 , 定义了 成员属性 name 和 age , 成员方法 make_sound 函数 ; 在子类 Dog 中 , 对 Animal 的 成员属性 name...访问成员 : 如果需要调用被重写之前的 成员 , 则需要使用如下方法 : 方法一 : 使用 名 调用成员 ; 调用类同名成员变量 : 名.成员变量名 调用类同名成员方法...: 名.成员方法名(self) 方法二 : 使用 super 调用成员 ; 调用类同名成员变量 : super().成员变量名 调用类同名成员方法 : super().成员方法名(...) 2、代码示例 - 子类中使用 名 调用成员 在 Dog 子类中的 make_sound 函数中 , 通过 Animal.name 和 Animal.age 可以调用的成员变量 , 打印出来的值为的成员变量值

    61230

    解决浏览器差异导致从子页面回到页面页面不刷新的问题

    我的问题也是如此,我的需求是从父页面跳转子页面,子页面提交后返回页面,并且页面刷新。   ...Android的Chrome浏览器对这个需求就很容易支持,因为他每次页面重新显示的时候,都会刷新整个页面。而IOS的Safari浏览器出现了问题,Safari浏览器会读取缓存,不会重新刷新页面。...总体思路是在子页面返回时,告知页面刷新。并且只在IOS上执行这个操作,否则Android会刷新两遍。   ...由于笔者对JS并不算精通,最初是想参考Android原生的回调操作,利用js实现页面回调,最后没能实现。然后考虑利用浏览器的生命周期,在H5中应该叫做事件,来处理。   ...它是在页面显示的时候响应,同时支持Chrome和Safari。

    2.6K20

    iframe关闭页面(iframe嵌套https页面)

    [name]获取到frame scrolling iframe里面的页面是否可以滚动 frameborder 是否显示iframe边框 1(显示)0(不显示) id 和其他的html标签id一样...contentWindow、contentDocument frame.contentWindow 获取页面的window对象 frame.contentDocument 获取页面的document...对象 2、获取页面页面可以访问、修改同一个域名的页面的方法和属性 window.parent/parent 获取当前页面页面-iframe所在的页面 parent.window 获取页面的...window属性 parent.document 获取页面的document属性 window.top 获取打开该页面页面,如果当前页面没有被嵌套到iframe中,window.topwindow...window.hostname) { window.top.location.href = window.location.href; } } frame跨域调用 使用postMessage 页面

    6.8K10

    索引和索引

    索引和索引 索引(this_class)和索引(super_class)都是一个u2型的数据,索引用于确定这个的全限定名,索引用于确定这个全限定名。...由于java语言不允许多重继承,所以索引只有一个。...索引和索引各自指向常量池中类型为CONSTANT_Class_info的描述符,再通过描述符中的索引值找到常量池中类型为CONSTANT_Utf8_info的字符串。...索引为0x0004,去常量池里找索引为4的描述符,描述符中的索引为18,再去常量池里找索引为18的字符串,就是“java/lang/Object”。...具体结构如下: 总结 Class文件主要由魔数、次版本号、主版本号、常量池集合、访问标志、索引、索引、接口索引集合、字段表集合、方法表集合和属性表集合组成。

    80800

    原生JS | 通过获取标签

    原生JS通过获取标签 getElementsByClassName()是原生JavaScript提供的方法,但是并不是所有的浏览器都支持,在ie早期版本的浏览器是不允许通过这个方法获取标签的,因此...,需要自定义一个方法,使我们能够在每个浏览器下都能通过获取标签。...通过获取标签的思路 首先检测浏览器是否支持getElementsByClassName方法; 对于不支持getElementsByClassName方法的浏览器,通过标签名的方式来获取标签,之后,进行标签的筛选...JS功能代码 1....构建函数 使用工厂模式创建函数,用户向“工厂(函数)”中传入名,使用if语句,判断document是否存在getElementsByClassName方法,如果存在,则直接获取; 如果不存在,则先获取所有标签

    13.1K60
    领券